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:
I hate the mouse, and I try really hard to not use it.
I need a very stable system. If my distro is not stable enough, I try to bring the system to a stable state and then I never update anything. My previous setup had one year uptime and that’s because I never updated anything and it kept running without any problems 1.
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:
Install a distro with a recent XFCE and i3. Install a full XFCE desktop and i3.
xfce4-session-settings
> “Session”: Remove everything other than Xfsettingsd
and Power Manager
.
xfce4-session-settings
> “Advanced”: Enable “Launch GNOME services on startup”.
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:
I add /usr/bin/setxkbmap -option "ctrl:nocaps"
to xfce4-settings-manager
> “Application Autostart” to make caps lock an additional ctrl.
I install feh
and run it on i3 startup to set a desktop background image (see my i3 config below).
I add some key bindings in xfce4-keyboard-settings
for sound controls. Normally I add key bindings to i3 config, but it’s hard to find key names for Fn + key
combinations and XFCE helps with that part.
In xfce4-keyboard-settings
I set repeat delay 260ms and repeat speed 55 key strokes/second.
Then I install zsh, vim etc. and generate symlinks for my configs. My i3 config is here.