Need help with i3?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

Airblader
5.4K Stars 302 Forks BSD 3-Clause "New" or "Revised" License 8.2K Commits 11 Opened issues

Description

A fork of the i3 window manager with gaps and some other features

Services available

!
?

Need anything else?

Contributors list

# 9,746
gRPC
Perl
x11-wm
hlsl
3408 commits
# 18,371
xcb
Perl
Shell
x11-wm
479 commits
# 39,230
xcb
x11-wm
bitbuck...
applesc...
422 commits
# 68,078
Shell
Perl
C
xcb
182 commits
# 32,649
Perl
Electro...
swaywm
web-app...
171 commits
# 95,426
Shell
Perl
C
xcb
104 commits
# 38,584
Shell
Perl
Firefox
dmenu
65 commits
# 41,814
D
reddit
Arch Li...
wxwidge...
59 commits
# 122,816
Perl
xcb
i3-gaps
s3
41 commits
# 151,945
Perl
Shell
HTML
xcb
37 commits
# 151,769
gtk
Perl
xcb
i3-gaps
34 commits
# 119,524
Perl
Shell
Git
xcb
25 commits
# 122,167
sed
Perl
Lua
lemonba...
22 commits
# 134,952
C
Perl
Shell
i3
16 commits
# 33,307
Linux
xorg
Awesome...
Lua
14 commits
# 226,513
Perl
Shell
xcb
i3-gaps
12 commits
# 208,142
Perl
PHP
slack
xcb
12 commits
# 266,959
xcb
i3-gaps
Shell
C
11 commits
# 74,197
C
Perl
Shell
i3-gaps
10 commits
# 256,803
C
Perl
Shell
xcb
9 commits

Build Status Issues Forks Stars

i3-gaps

What is i3-gaps?

i3-gaps is a fork of i3wm, a tiling window manager for X11. It is kept up to date with upstream, adding a few additional features such as gaps between windows (see below for a complete list).

i3

How do I install i3-gaps?

Please refer to the wiki.

Where can I get help?

For bug reports or feature requests regarding i3-gaps specifically, open an issue on GitHub. If your issue is with core i3 functionality, please report it upstream.

For support & all other kinds of questions, you can ask your question on GitHub Discussions.

Features

i3

gaps

Note: In order to use gaps you need to disable window titlebars. This can be done by adding the following line to your config.

# You can also use any non-zero value if you'd like to have a border
for_window [class=".*"] border pixel 0

Gaps are the namesake feature of i3-gaps and add spacing between windows/containers. Gaps come in two flavors, inner and outer gaps wherein inner gaps are those between two adjacent containers (or a container and an edge) and outer gaps are an additional spacing along the screen edges. Gaps can be configured in your config either globally or per workspace, and can additionally be changed during runtime using commands (e.g., through

i3-msg
).

Note: Outer gaps are added to the inner gaps, i.e., the gaps between a screen edge and a container will be the sum of outer and inner gaps.

Configuration

You can define gaps either globally or per workspace using the following syntax. Note that the gaps configurations should be ordered from least specific to most specific as some directives can overwrite others.

gaps [inner|outer|horizontal|vertical|top|left|bottom|right] 
workspace  gaps [inner|outer|horizontal|vertical|top|left|bottom|right] 

The

inner
and
outer
keywords are as explained above. With
top
,
left
,
bottom
and
right
you can specify outer gaps on specific sides, and
horizontal
and
vertical
are shortcuts for the respective sides.
 stands for a numeric value in pixels and 
 for either a workspace number or a workspace name.

Commands

Gaps can be modified at runtime with the following command syntax:

gaps inner|outer|horizontal|vertical|top|right|bottom|left current|all set|plus|minus|toggle 

Examples

gaps inner all set 20 gaps outer current plus 5 gaps horizontal current plus 40 gaps outer current toggle 60

With

current
or
all
you can change gaps either for only the currently focused or all currently existing workspaces (note that this does not affect the global configuration itself).

You can find an example configuration in the wiki.

Smart Gaps

Gaps can be automatically turned on/off on a workspace in certain scenarios using the following config directives:

# Only enable gaps on a workspace when there is at least one container
smart_gaps on

Only enable outer gaps when there is exactly one container

smart_gaps inverse_outer

Smart Borders

Smart borders will draw borders on windows only if there is more than one window in a workspace. This feature can also be enabled only if the gap size between window and screen edge is

0
.
# Activate smart borders (always)
smart_borders on

Activate smart borders (only when there are effectively no gaps)

smart_borders no_gaps

Smart Edge Borders

This extends i3's

hide_edge_borders
with a new option. When set, edge-specific borders of a container will be hidden if it's the only container on the workspace and the gaps to the screen edge is
0
.
# Hide edge borders only if there is one window with no gaps
hide_edge_borders smart_no_gaps

i3bar

Bar Height

The height of an i3bar instance can be specified explicitly by defining the

height
key in the bar configuration. If not set, the height will be calculated automatically depending on the font size.
bar {
    # Height in pixels
    height 25
}

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.