Desktop Environment

There are a ton options when it comes to desktop environments including GNOME, KDE, with lightweight derivatives such as XFCE, MATE and Cinnamon. The major ones, trying to be everything to everyone, comes with a broad suite of tools and utilizes are provided such as systray applets, network-managers, file-browsers, screensavers, session-managers, key-chains, printer-configurators, system configuration etc. in addition to the essential task of “window management”.

For the core task of window management one is spoiled for choice as well, FluxBox, Awesome, i3, i3-gaps and xmonad. On the other end are a bunch of choices such as OpenBox, before-mentioned desktop-environments or replace the window-manager part. with tiling window-managers being one of the main reasons to replace the

All of the above are based on the X Window System, a replacement for which has been underway for 10+ years called Wayland.

DE using XFCE4 and i3-gaps

../../../_images/screenshot-i3-gaps.png ../../../_images/screenshot-i3-gaps-rofi.png

Tiling with i3-gaps

i3-gaps is a fork of i3 which is actively maintained as a set of patches on top of i3.

At the time of writing/updating this, then i3-gaps version v4.20.1 was the latest. Which in addition to the toolbelt packages requires installation of the following:

sudo apt-get -qy install \
  libcairo2-dev \
  libev-dev \
  libpango1.0-dev \
  libpcre3-dev \
  libstartup-notification0-dev \
  libxcb-cursor-dev \
  libxcb-icccm4-dev \
  libxcb-keysyms1-dev \
  libxcb-randr0-dev \
  libxcb-shape0-dev \
  libxcb-util0-dev \
  libxcb-util0-dev \
  libxcb-xinerama0-dev \
  libxcb-xkb-dev \
  libxcb-xrm-dev \
  libxkbcommon-x11-dev \

Then clone the i3-gaps repos, build and install it from source:

cd git
git clone i3-gaps
cd i3-gaps
git checkout 4.20.1
meson setup builddir
meson compile -C builddir
sudo meson install -C builddir

The annoying thing here is that you have to maintain i3-gaps on your system, that is updating it as new releases come out make sure it is still working as intended.


This is needed for the i3-workspaces-plugin. It too has dependencies:

sudo apt-get install \
  gobject-introspection \
  gtk-doc-tools \

Do this:

cd -/git
git clone
cd i3ipc-glib
git checkout v1.0.1

./ --prefix-/usr
sudo make install



sudo apt-get install \
  libxfce4panel-2.0-dev \
  libxfce4ui-2-dev \

i3 provides stuff like: i3bar, i3status, i3pystatus, i3blocks etc. however, the XFCE4 provides the same with a bunch of well-supported applets like the gnome-network-manager. So instead of using the i3bar, this setup favors using the xfce-panel instead, and then integrating the i3 workspaces via a plugin:

cd -/git
git clone
cd xfce4-i3-workspaces-plugin
git checkout 1.4.0

./ --prefix-/usr
sudo make install

i3 - aux

Application launcher:

sudo apt-get install rofi


sudo apt-get install nitrogen