Building i3-gaps and i3status from source
Recently, I have become a great fan of i3-gaps as my Window Manager of choice when using Raspbian. Unfortunately, the Raspbian images do not include i3-gaps nor the latest versions of some other i3 utilities.
To work around this issue, the packages must be built from source, as shown below (pulled together from several other posts found elsewhere and my own troubleshooting).
Install i3-gaps build dependencies:
sudo apt install meson dh-autoreconf libxcb-keysyms1-dev libpango1.0-dev libxcb-util0-dev xcb libxcb1-dev libxcb-icccm4-dev libyajl-dev libev-dev libxcb-xkb-dev libxcb-cursor-dev libxkbcommon-dev libxcb-xinerama0-dev libxkbcommon-x11-dev libstartup-notification0-dev libxcb-randr0-dev libxcb-xrm0 libxcb-xrm-dev libxcb-shape0 libxcb-shape0-dev
Download i3-gaps from the Regolith-Linux repository, build and install in
/usr/local. This is not the primary repo for i3-gaps, but it is being actively maintained, so I use it for my builds:
git clone https://github.com/regolith-linux/i3-gaps-wm.git cd i3-gaps mkdir -p build && cd build meson --prefix /usr/local ninja sudo ninja install
Remove the original i3 installation package:
sudo apt remove i3-wm
If using the LightDM session manager, edit
/usr/local/share/xsessionsto the session-directory search path.
Logout and login to start using i3-gaps.
Build updated i3status from source (optional)
Older versions of the i3status tool can encounter issues when running on Raspbian. For example, it can display incorrect memory values. If this occurs, the latest version must be built from source to replace the default Raspbian package.
Install i3status build dependencies:
sudo apt install libconfuse-dev libyajl-dev libasound2-dev libiw-dev libpulse-dev libnl-genl-3-dev
Download i3status repository, build and install in
git clone https://github.com/i3/i3status.git cd i3status mkdir -p build && cd build meson --prefix /usr/local ninja sudo ninja install
Remove original i3status installation package:
sudo apt remove i3status
Fix i3 / i3status package dependencies
Lastly, after removing the default i3-wm and/or i3status packages, some dependencies may be broken.
If any i3 dependencies are listed as no longer required when running
sudo apt upgrade, use this command to mark them as manually installed to avoid removing them in error:
sudo apt-mark manual <package_names>
I drafted this post primarily for my own reference but if you found it helpful, you’re welcome ツ. To contact me, please use the Contact page, or send me a direct message on Twitter .