i3 Userâs Guide
-<michael+i3@stapelberg.de>
-March 2010 +<michael@i3wm.org>
+March 2013
This document contains all the information you need to configure and use the i3 -window manager. If it does not, please contact me on IRC, Jabber or E-Mail and -Iâll help you out.
For the "too long; didnât read" people, here is an overview of the default keybindings (click to see the full size image):
Keys to use with Mod1 (alt):
Keys to use with $mod (Alt):
Keys to use with Shift+Mod1:
Keys to use with Shift+$mod:
As i3 uses keycodes in the default configuration, it does not matter which -keyboard layout you actually use. The key positions are what matters (of course -you can also use keysymbols, see [keybindings]).
The red keys are the modifiers you need to press (by default), the blue keys are your homerow.
Note that when starting i3 without a config file, i3-config-wizard will offer +you to create a config file in which the key positions (!) match what you see +in the image above, regardless of the keyboard layout you are using. If you +prefer to use a config file where the key letters match what you are seeing +above, just decline i3-config-wizardâs offer and base your config on +/etc/i3/config.
2. Using i3
Throughout this guide, the keyword $mod will be used to refer to the +configured modifier. This is the Alt key (Mod1) by default, with the Windows +key (Mod4) being a popular alternative.
2.1. Opening terminals and moving around
One very basic operation is opening a new terminal. By default, the keybinding -for this is Mod1+Enter, that is Alt+Enter in the default configuration. By -pressing Mod1+Enter, a new terminal will be opened. It will fill the whole -space available on your screen.
It is important to keep in mind that i3 uses a table to manage your windows. At -the moment, you have exactly one column and one row which leaves you with one -cell. In this cell there is a container, which is where your new terminal is -opened.
If you now open another terminal, you still have only one cell. However, the -container in that cell holds both of your terminals. So, a container is just a -group of clients with a specific layout. Containers can be resized by adjusting -the size of the cell that holds them.
If you now open another terminal, i3 will place it next to the current one, +splitting the screen size in half. Depending on your monitor, i3 will put the +created window beside the existing window (on wide displays) or below the +existing window (rotated displays).
To move the focus between the two terminals, you use the direction keys which -you may know from the editor vi. However, in i3, your homerow is used for -these keys (in vi, the keys are shifted to the left by one for compatibility -with most keyboard layouts). Therefore, Mod1+J is left, Mod1+K is down, -Mod1+L is up and Mod1+; is right. So, to switch between the terminals, -use Mod1+K or Mod1+L.
To create a new row/column (and a new cell), you can simply move a terminal (or -any other window) in the direction you want to expand your table. So, letâs -expand the table to the right by pressing Mod1+Shift+;.
- -
To move the focus between the two terminals, you can use the direction keys +which you may know from the editor vi. However, in i3, your homerow is used +for these keys (in vi, the keys are shifted to the left by one for +compatibility with most keyboard layouts). Therefore, $mod+j is left, $mod+k +is down, $mod+l is up and $mod+; is right. So, to switch between the +terminals, use $mod+k or $mod+l. Of course, you can also use the arrow keys.
At the moment, your workspace is split (it contains two terminals) in a +specific direction (horizontal by default). Every window can be split +horizontally or vertically again, just like the workspace. The terminology is +"window" for a container that actually contains an X11 window (like a terminal +or browser) and "split container" for containers that consist of one or more +windows.
TODO: picture of the tree
To split a window vertically, press $mod+v before you create the new window. +To split it horizontally, press $mod+h.
2.2. Changing container modes
-A container can have the following modes:
2.2. Changing the container layout
+A split container can have one of the following layouts:
- -default +splith/splitv
-
Windows are sized so that every window gets an equal amount of space in the -container. +container. splith distributes the windows horizontally (windows are right next +to each other), splitv distributes them vertically (windows are on top of each +other).
- @@ -135,34 +145,34 @@ a single line which is vertically split.
To switch modes, press Mod1+e for default, Mod1+h for stacking and -Mod1+w for tabbed.
To switch modes, press $mod+e for splith/splitv (it toggles), $mod+s for +stacking and $mod+w for tabbed.
2.3. Toggling fullscreen mode for a window
-To display a window fullscreen or to go out of fullscreen mode again, press -Mod1+f.
There is also a global fullscreen mode in i3 in which the client will use all -available outputs. To use it, or to get out of it again, press Mod1+Shift+f.
To display a window in fullscreen mode or to go out of fullscreen mode again, +press $mod+f.
There is also a global fullscreen mode in i3 in which the client will span all +available outputs (the command is fullscreen toggle global).
2.4. Opening other applications
Aside from opening applications from a terminal, you can also use the handy -dmenu which is opened by pressing Mod1+v by default. Just type the name -(or a part of it) of the application which you want to open. The application -typed has to be in your $PATH for this to work.
Additionally, if you have applications you open very frequently, you can create a keybinding for starting the application directly. See the section -"Configuring i3" for details.