My current Linux setup (i3-gaps, compton, wal, st, + more).
Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new “features”. –Douglas McIlroy, Bell Labs (1978)
Early last year I began to properly explore Linux. Motivated by beautiful desktops, and customisation made easy thanks to the UNIX philosophy above, I have gradually synthesised an aesthetic and productive workflow on my systems. I haven’t really had a reason to use Windows since.
The following setup definitely works on Ubuntu, but it and other distros may require alternate installation proceedures.
i3-gaps (tiling window manager)
i3-gaps is a fork of the tiling window manager
i3. Compared to standard window managers, tiling allows for efficient maneuvering of split windows and is almost entirely controlled via the keyboard.
The ‘gaps’ means that tiled windows can have controllable distance between them, as well as a gap border surrounding the outside of the tiles. I personally use rounded i3-gaps which has nice rounded corners.
You can install rounded i3-gaps with
git clone git clone https://github.com/resloved/i3 i3-gaps cd i3-gaps/ make sudo make install
exec i3 to your
Compton (transparency & blur)
Compton is a compositor which composits windows into an offscreen buffer before writing to the display memory. This allows for numerous effects, particularly transparency and blurring.
I use tryone’s compton fork which includes a visually pleasing kawase blur, making text easier to read on transparent windows.
You can install compton with:
git clone https://github.com/tryone144/compton cd compton make make install
and I run on startup via my
i3 config using
exec_always --no-startup-id compton --blur-background --blur-method kawase --blur-strength 8 --opacity-rule 30:'class_g="st"' --backend glx.
~/.config/compton.conf for endless configuration. For
i3 I like setting
inactive-opacity = 0.95; so that EVERY window will become very slightly transparent when innactive. This makes it easier to observe the active window.
wal (change background and colours)
wal -i ~/Pictures/Wallpapers/ --saturate 0.3 -l is likely my most used command (aliased to
cbs). It chooses a random desktop background from a folder, samples a colour palette from the dominant colours in the image, and then applies the colours system-wide. I have found that this saturation and
-l for lightmode creates the best colour palette with high text readability.
For a status bar I am now using
polybar, which takes on the system colours from
wal! Not only does it look much prettier than
i3status but it comes with some nice modular functions, while retaining the ability to include output custom scripts.
Below is an image of my polybar. Left: custom crypto price tickers and VPN status. Right: volume, RAM usage, CPU usage, internet connection, CPU temperature, time (shows date when clicked), and a power button I have never actually used.
You can find my polybar config here.
I am using Luke Smith’s fork of the suckless simple terminal (st) which has some really nice features such as scrollback, font-size hotkeys, good text copy/paste.
git clone https://github.com/LukeSmithxyz/st cd st sudo make install
Message me if you need any help with any of the above.