Running i3

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

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

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

exec i3 --force-xinerama

Basic Keybindings and Window Management

The default keybindings mostly depend on Mod1 (usually mapped to Alt) or Mod3/Mod4 (usually mapped to the Windows key) as the basic modifier key sometimes combined with Ctrl or Shift. To identify the different Mod# keys on your system, use the
command xmodmap without arguments.

The key combinations are configured in the file ~/.i3/config (or, if it does not exist, /etc/i3/config).

The default key combinations rely on key codes and not on the actual letters of your keyboard layout! You can replace the bind directives in the config with bindsym directives if you do not like this. For more info on configuration see the next section.

Some of the most important keybindings include the following:

Run a program: Mod1+d

Create a new terminal: Mod1+Enter

Switch between different windows: Mod1+ any of "jkl;" or cursor keys (somewhat Vim-like keybindings)

Move a window: Mod1+Shift+ any of "jkl;" or cursor keys

Switch to a different workspace: Mod1+ any number

Move window to a different workspace: Mod1+Shift+ any number

Note that i3 uses containers for window management. So in contrast to Wmii you can also tile windows horizontally. To do this, simply move a window up or down (with Mod1+Shift+DirectionKey) beyond the edge of the screen. A new row will appear. You can then use Mod4+Ctrl+DirectionKey to enlarge the window into the chosen direction. DirectionKey can be the arrow keys as well as "jkl;".

Configuration

i3 is configured using a simple text file. It first looks for ~/.i3/config and if it doesn't exist, reads the default config at /etc/i3/config. So to start customizing, copy the config file to your home directory:

Old method: i3-wsbar and dzen

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: