osa1 github gitlab twitter cv rss

My new XFCE + i3 setup

November 30, 2016 - Tagged as: en.

I’ve been running Linux exclusively since 6-7 years ago, and since my first days on Linux I’ve been obsessed with two things:

Initially I was running GNOME 2, but I had to switch to KDE because the distro I was working on at the time (Pardus) was mainly a KDE distro and as far as I remember it was the only DE that was officially supported2. It took some time but I ended up liking it quite a lot, and kept using it after I stopped working on Pardus and switched to openSUSE.

My KDE setup was weird. I had dozens of key bindings for window management, and I was using vim and yakuake with lots of customization and key bindings. I basically rolled my own tiling window manager using KDE settings and key bindings.

I tried XMonad and awesomewm a couple of times, but I was too lazy to configure them to a stable state where all the services (login/logout, power management, sound and brightness settings, network controllers etc.) work flawlessly.

Then I discovered i3. In my first hours with it all I had to change was the jkl; combination for left/down/up/right: I was already an experienced vim user so I changed it to hjkl and that was pretty much it. I had a usable setup already.

The way I run it was again weird. I replaced KDE’s window manager, so all other KDE services were running. This setup had many problems, for example, neither i3bar nor the KDE status bar worked, so I didn’t use a status bar. KDE’s desktop was still running, so I added a status bar widget to the desktop, and I was using a spare i3 desktop when I needed to use the status bar. I had to disable some of the KDE services (like the one that detects connected monitors) because they weren’t working as expected when I replaced the window manager etc. This system worked great for about 2 years once I disabled some of the KDE services that didn’t work properly.

Then, 3 weeks ago, I had some free time, and decided to finally update my system. I was using openSUSE, and I wanted to stick with it, so I installed openSUSE Tumbleweed. This time instead of using a weird KDE + i3 setup I wanted a proper i3 setup. I messed with a plain i3 setup for a while, but it got tiresome real quick, so I looked at other DEs to find one that works with i3.

Long story short, I found out that XFCE and i3 work really great together. It takes 15 minutes to set up my desktop. Here’s how I do it:

  1. Install a distro with a recent XFCE and i3. Install a full XFCE desktop and i3.

  2. xfce4-session-settings > “Session”: Remove everything other than Xfsettingsd and Power Manager.

  3. xfce4-session-settings > “Advanced”: Enable “Launch GNOME services on startup”.

  4. xfce4-session-settings > “Application Autostart”: Add i3 executable.

That’s all you need to get a working XFCE + i3 setup! i3-bar will be used instead of XFCE panel (which you disabled already in step (2)). After this just configure XFCE and i3 as usual.

Here is some of the configurations I do:

Then I install zsh, vim etc. and generate symlinks for my configs. My i3 config is here.


  1. It probably had some security issues though…↩︎

  2. There was an unofficial work on a GNOME port but it was never completed as far as I know.↩︎