From ArchWiki
Revision as of 05:36, 28 January 2013 by Thestinger (talk | contribs) (there's really no need to duplicate the upstream documentation here - it's much clearer)
Jump to: navigation, search

i3 is a dynamic tiling window manager inspired by wmii that is primarily targeted at developers and advanced users. See the i3 User's Guide for usage information.


The developers' attempt to hack and fix wmii led to the creation of i3. At the time Wmii didn't provide certain features, like support for Xinerama, and lacked source code comments and documentation.

Clients within i3 are either allowed to float or placed into containers. Clients can be stacked or tabbed within containers.


i3 is located in the community repository. Installing i3 can be accomplished by choosing the i3 group, which includes the packages i3lock, i3status and i3-wm. Alternatively, you can install the window manager (i3-wm) exclusively.

A status line is provided by piping text to i3bar, with i3status or any other program that writes a statusline to stdout.

Additionally, i3-gitAUR is available in the AUR.

For gnome users, see i3-gnomeAUR in AUR to add a i3 gnome session (gtk theme, gnome-keyring, notifications, gnome online accounts).

Running i3

Edit your ~/.xinitrc and add:

exec i3

If you want i3 to log its output (useful for debugging), add this line to ~/.xinitrc:

exec i3 -V >> ~/.i3/i3log 2>&1

If you use the Nvidia binary driver <302.17 you need to add the --force-xinerama flag to ~/.xinitrc. A detailed explanation can be found at i3wm.org.

exec i3 --force-xinerama

Status bar

The internal status bar, i3-wsbar, was deprecated and replaced by i3bar in i3 v4.0.

New method: i3bar

Unlike i3-wsbar, which requires dzen2, i3bar does not have any dependecies other than i3-wm. It can be used to view information generated by conky or i3status. For example (as of version 4.1):

bar {
    output            LVDS1
    status_command    i3status
    position          top
    mode              hide
    workspace_buttons yes
    tray_output       none
    font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1

    colors {
        background #000000
        statusline #ffffff

        focused_workspace  #ffffff #285577
        active_workspace   #ffffff #333333
        inactive_workspace #888888 #222222
        urgent_workspace   #ffffff #900000

For further information see the Configuring i3bar section of the official User Guide.

Old method: i3-wsbar and dzen

Dzen can be placed in the status bar at the bottom of the screen. Information for dzen2 can be generated using i3status

i3status | dzen2 &

or conky

conky | dzen2 &

The svn development version of dzen2 in the AUR offers a -dock option, which puts dzen2 at the bottom of the screen and tells i3 not to manage it.

In the AUR you can also find i3-wsbarAUR, which is able to get the list of workspaces from the socket that i3 offers for IPC. Thus you can pipe the conky output to i3-wsbar and tell it to use dzen2. For example, put the following in your i3 configuration file:

exec conky | i3-wsbar -c "dzen2 -x %x -dock -fn -*-profont-*-*-*-*-11-*-*-*-*-*-*-* -ta l"

For further information see External workspace bars.

Note: Dzen color codes can be used in your conky configuration file.

Comparison of i3bar and dzen2

This comparison of i3bar and dzen2 only takes into account how well the two programs can handle the input from conky or i3status.

Program Color Codes Formatting Special Fonts Dock Trayer
i3bar Yes No, right aligned No (UTF8 only) Yes Yes
dzen2 Yes No, left aligned Yes Yes (the svn version) No

Though development of i3bar is very active and support for custom formatting and fonts has been announced, dzen2-svn has an edge over i3bar (as of August 7th).

Other tools

i3 currently uses dmenu as a application launcher, which is bound by default to Template:Keypress+Template:Keypress.

i3lock is a screen locker inspired by slock.

Additional sources