-
Notifications
You must be signed in to change notification settings - Fork 317
Building from source
Building i3-gaps from source is an advanced topic, and as such only users with appropriate knowledge should consider doing this. It is not a supported way just to install i3-gaps for everyday usage. If you are a regular user wanting to install i3-gaps, please refer to the wiki.
Use any of these instructions at your own caution. Questions regarding the compilation will only be supported in the following cases:
- You are working on providing a package for i3-gaps on some distribution.
- You are in need to build from source in order to debug an issue.
- You have asked package maintainers in your distribution to create a package for i3-gaps and can link to this request.
- There's an actual compilation failure caused by i3-gaps.
Issues opened on this topic which do not clearly fall into one of these categories will probably be closed. The Linux ecosystem is community-based, and each respective community should strive to just package i3-gaps if there is sufficient need.
The most important, first step is to read the section above.
i3-gaps, like i3, uses the meson build system, and can be built as documented there. This boils down to
cd /path/where/you/want/the/repository
# clone the repository
git clone https://www.github.com/Airblader/i3 i3-gaps
cd i3-gaps
# compile
mkdir -p build && cd build
meson ..
ninja
If you haven't installed i3 before, you will likely get compilation errors due to missing packages. To solve that, install all required dependencies as listed in the section below first.
This is a list of packages needed to compile i3-gaps for different distributions. Please note that i3-gaps does not add any dependencies to i3, so the packages listed here are the same needed to install i3 itself.
libxcb-devel xcb-util-keysyms-devel xcb-util-devel xcb-util-wm-devel xcb-util-xrm-devel yajl-devel libXrandr-devel startup-notification-devel libev-devel xcb-util-cursor-devel libXinerama-devel libxkbcommon-devel libxkbcommon-x11-devel pcre-devel pango-devel git gcc automake
libxcb1-dev libxcb-keysyms1-dev libpango1.0-dev \
libxcb-util0-dev libxcb-icccm4-dev libyajl-dev \
libstartup-notification0-dev libxcb-randr0-dev \
libev-dev libxcb-cursor-dev libxcb-xinerama0-dev \
libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev \
autoconf libxcb-xrm-dev
You will also need libxcb-xrm-dev from a PPA
sudo add-apt-repository ppa:aguignard/ppa
sudo apt-get update
sudo apt-get install libxcb-xrm-dev
libxcb1-dev libxcb-keysyms1-dev libpango1.0-dev \
libxcb-util0-dev libxcb-icccm4-dev libyajl-dev \
libstartup-notification0-dev libxcb-randr0-dev \
libev-dev libxcb-cursor-dev libxcb-xinerama0-dev \
libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev \
autoconf libxcb-xrm0 libxcb-xrm-dev automake libxcb-shape0-dev
apt install 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
libxcb-devel libxkbcommon-devel xcb-util-keysyms xcb-util-keysyms-devel xcb-util-devel xcb-util-wm-devel xcb-util-xrm-devel yajl-devel libev-devel xcb-util-cursor-devel libpcre-devel libxrandr-devel libxinerama-devel libxkbcommon-devel libstartup-notification-devel libcairo-devel pango-devel git gcc automake