Skip to content
This repository has been archived by the owner on Nov 7, 2022. It is now read-only.

Frequently Asked Questions

Ingo Bürk edited this page Aug 1, 2021 · 4 revisions

This page collects answers to common questions or problems.

Do I need i3-gaps?

If none of the features i3-gaps ships are of interest to you, by all means please stick with regular i3. ;-)

What are gaps even for?

As a tiling window manager, i3 focuses on maximizing the use of screen estate without overlapping windows. Because of this core idea, many people feel that gaps "waste" space and are thus useless or even harmful. If you subscribe to this idea – that's fine. :-) However, please do keep in mind that i3-gaps offers a couple of features which are not related to gaps.

That isn't to say that gaps don't serve a purpose to many other users, though. For some this may be a purely aesthetical one, and that is also fine – everyone gets to have the kind of system they would like. Apart from this, however, there is also a functional case to be made as gaps provide visual separation which users might find helpful in distinguishing windows.

When using gaps I get visual glitches

Due to the way gaps work we cannot support window titlebars when gaps are enabled. You can, however, use a pixel border of any width you'd like. Simply add this to your config:

# Or any other numeric value for "0"
for_window [class=.*] border pixel 0

How do I install i3?

As with any other software, please check your distribution's package manager (apt, pacman, …) for a packaged version of i3-gaps first. You can also find a list in the wiki. Packages usually are marked as conflicting with i3 such that installing i3-gaps will replace i3 cleanly. You don't have to (but certainly can) backup your i3 config file as i3-gaps will read the same file and is backwards compatible. Please note that you should not be editing the config under /etc directly, but have a local config file in your home directory.

If you are an advanced user and know what you're doing, you can also build i3-gaps from source. We generally do not recommend (or support) this as the exact instructions depend on the distribution and bypassing your package manager is never a good idea. If your distribution does not ship i3-gaps as a package, please contact the corresponding people in your distribution or, if you know how, provide a package yourself. This also helps the entire community of your distribution. :-)

How do I build i3 from source?

Please see Compiling & Installing.

Why can't you merge i3-gaps into i3?

@Airblader is both the maintainer of i3-gaps and a maintainer of i3. This raises the valid question of why the two projects aren't merged. There used to be two main reasons for this:

  1. Gaps do not fit the philosophy of i3 laid out by its author, @stapelberg.
  2. The implementation of gaps does not live up to the code quality expectations in i3, and even conflicts with the window titlebar feature. This is mostly to keep the implementation simple in order to allow staying up to date with upstream.

The first reason has since been voided, and gaps as a feature would be accepted upstream. However, due to the second point, this requires a re-implementation and significant effort, and so far this just hasn't happened.

Why doesn't i3-gaps change the name of the binaries?

If we changed the binary name from i3 to i3-gaps, we could allow installing both i3 and i3-gaps in parallel – so why don't we? Apart from additional complexity in maintaining this, a pragmatical reason is that there is no need to do so: i3-gaps is fully compatible with i3 if you do not use any of i3-gaps' features. Having both installed thus does not serve any purpose.

Another reason is that any third-party tooling that calls i3-msg, i3-nagbar or any of i3's tools would break for i3-gaps; we simply consider this to be an unnecessary annoyance.