1I3(1) i3 Manual I3(1)
2
3
4
6 i3 - an improved dynamic, tiling window manager
7
9 i3 [-a] [-c configfile] [-C] [-d <loglevel>] [-v] [-V]
10
12 -a
13 Disables autostart.
14
15 -c
16 Specifies an alternate configuration file path.
17
18 -C
19 Check the configuration file for validity and exit.
20
21 -d
22 Specifies the debug loglevel. To see the most output, use -d all.
23
24 -v
25 Display version number (and date of the last commit).
26
27 -V
28 Be verbose.
29
31 INTRODUCTION
32 i3 was created because wmii, our favorite window manager at the time,
33 didn’t provide some features we wanted (multi-monitor done right, for
34 example), had some bugs, didn’t progress since quite some time and
35 wasn’t easy to hack at all (source code comments/documentation
36 completely lacking). Still, we think the wmii developers and
37 contributors did a great job. Thank you for inspiring us to create i3.
38
39 Please be aware that i3 is primarily targeted at advanced users and
40 developers.
41
42 IMPORTANT NOTE TO nVidia BINARY DRIVER USERS
43 If you are using the nVidia binary graphics driver (also known as blob)
44 you need to use the --force-xinerama flag (in your .xsession) when
45 starting i3, like so:
46
47 exec i3 --force-xinerama -V >>~/.i3/i3log 2>&1
48
49 See also docs/multi-monitor for the full explanation.
50
51 TERMINOLOGY
52 Client
53 A client is X11-speak for a window.
54
55 Table
56 Your workspace is managed using a table. You can move windows
57 around and create new columns (move a client to the right) or rows
58 (move it to the bottom) implicitly.
59
60 By "snapping" a client in a specific direction, you increase its
61 colspan/rowspan.
62
63 Container
64 A container contains a variable number of clients. Each cell of the
65 table is a container.
66
67 Containers can be used in various modes. The default mode is called
68 "default" and just resizes each client equally so that it fits.
69
70 Workspace
71 A workspace is a set of clients (technically speaking, it’s just a
72 table). Other window managers call this "Virtual Desktops".
73
74 In i3, each workspace is assigned to a specific virtual screen. By
75 default, screen 1 has workspace 1, screen 2 has workspace 2 and so
76 on... However, when you create a new workspace (by simply switching
77 to it), it’ll be assigned the screen you are currently on.
78
79 Output
80 Using XRandR, you can have an X11 screen spanning multiple real
81 monitors. Furthermore, you can set them up in cloning mode or with
82 positions (monitor 1 is left of monitor 2).
83
84 i3 uses the RandR API to query which outputs are available and
85 which screens are connected to these outputs.
86
88 Here is a short overview of the default keybindings:
89
90 j/k/l/;
91 Direction keys (left, down, up, right). They are on your homerow
92 (see the mark on your "j" key). Alternatively, you can use the
93 cursor keys.
94
95 Mod1+<direction>
96 Focus window in <direction>.
97
98 Mod3+<direction>
99 Focus container in <direction>.
100
101 Mod1+Shift+<direction>
102 Move window to <direction>.
103
104 Mod3+Shift+<direction>
105 Move container to <direction>.
106
107 Mod1+Control+<direction>
108 Snap container to <direction>.
109
110 Mod1+<number>
111 Switch to workspace <number>.
112
113 Mod1+Shift+<number>
114 Move window to workspace <number>.
115
116 Mod1+f
117 Toggle fullscreen mode.
118
119 Mod1+h
120 Enable stacking layout for the current container.
121
122 Mod1+e
123 Enable default layout for the current container.
124
125 Mod1+Shift+Space
126 Toggle tiling/floating for the current window.
127
128 Mod1+t
129 Select the first tiling window if the current window is floating
130 and vice-versa.
131
132 Mod1+Shift+q
133 Kills the current window. This is equivalent to "clicking on the
134 close button", meaning a polite request to the application to close
135 this window. For example, Firefox will save its session upon such a
136 request. If the application does not support that, the window will
137 be killed and it depends on the application what happens.
138
139 Mod1+Shift+r
140 Restarts i3 in place (without losing any windows, but at this time,
141 the layout and placement of windows is not retained).
142
143 Mod1+Shift+e
144 Exits i3.
145
147 ~/.i3/config (or ~/.config/i3/config)
148 When starting, i3 looks for configuration files in the following order:
149
150 1. ~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config if set)
151
152 2. /etc/xdg/i3/config (or $XDG_CONFIG_DIRS/i3/config if set)
153
154 3. ~/.i3/config
155
156 4. /etc/i3/config
157
158 You can specify a custom path using the -c option.
159
160 Sample configuration.
161
162 font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
163
164 # Start terminal (Mod1+Enter)
165 bind Mod1+36 exec /usr/bin/urxvt
166
167 # Start dmenu (Mod1+v)
168 bind Mod1+55 exec /usr/bin/dmenu_run
169
170 # Kill current client (Mod1+Shift+q)
171 bind Mod1+Shift+24 kill
172
173 # Beamer on/off
174 bind Mod1+73 exec /home/michael/toggle_beamer.sh
175
176 # Screen locking
177 bind Mod1+68 exec /usr/bin/i3lock
178
179 # Restart i3 inplace (Mod1+Shift+r)
180 bind Mod1+Shift+27 restart
181
182 # Exit i3 (Mod1+Shift+e)
183 bind Mod1+Shift+26 exit
184
185 # Brightness
186 bind Mod1+97 exec sudo sh -c "echo up > /proc/acpi/ibm/brightness"
187 bind Mod1+103 exec sudo sh -c "echo down > /proc/acpi/ibm/brightness"
188
189 # Fullscreen (Mod1+f)
190 bind Mod1+41 f
191
192 # Stacking (Mod1+h)
193 bind Mod1+43 s
194
195 # Default (Mod1+e)
196 bind Mod1+26 d
197
198 # Toggle tiling/floating of the current window (Mod1+Shift+Space)
199 bind Mod1+Shift+65 t
200
201 # Go into the tiling layer / floating layer, depending on whether
202 # the current window is tiling / floating (Mod1+t)
203 bind Mod1+28 focus ft
204
205 # Focus (Mod1+j/k/l/;)
206 bind Mod1+44 h
207 bind Mod1+45 j
208 bind Mod1+46 k
209 bind Mod1+47 l
210
211 # Focus Container (Mod3+j/k/l/;)
212 bind Mod3+44 wch
213 bind Mod3+45 wcj
214 bind Mod3+46 wck
215 bind Mod3+47 wcl
216
217 # Snap (Mod1+Control+j/k/l/;)
218 bind Mod1+Control+44 sh
219 bind Mod1+Control+45 sj
220 bind Mod1+Control+46 sk
221 bind Mod1+Control+47 sl
222
223 # Move (Mod1+Shift+j/k/l/;)
224 bind Mod1+Shift+44 mh
225 bind Mod1+Shift+45 mj
226 bind Mod1+Shift+46 mk
227 bind Mod1+Shift+47 ml
228
229 # Move Container (Mod3+Shift+j/k/l/;)
230 bind Mod3+Shift+44 wcmh
231 bind Mod3+Shift+45 wcmj
232 bind Mod3+Shift+46 wcmk
233 bind Mod3+Shift+47 wcml
234
235 # Workspaces
236 bind Mod1+10 1
237 bind Mod1+11 2
238 ...
239
240 # Move to Workspace
241 bind Mod1+Shift+10 1
242 bind Mod1+Shift+11 2
243 ...
244
245
246 ~/.xsession
247 This file is where you should configure your locales and start i3. It
248 is run by your login manager (xdm, slim, gdm, ...) as soon as you
249 login.
250
251 Sample xsession.
252
253 # Disable DPMS turning off the screen
254 xset dpms force on
255 xset s off
256
257 # Disable bell
258 xset -b
259
260 # Enable zapping (C-A-<Bksp> kills X)
261 setxkbmap -option terminate:ctrl_alt_bksp
262
263 # Enforce correct locales from the beginning
264 unset LC_COLLATE
265 export LC_CTYPE=de_DE.UTF-8
266 export LC_TIME=de_DE.UTF-8
267 export LC_NUMERIC=de_DE.UTF-8
268 export LC_MONETARY=de_DE.UTF-8
269 export LC_MESSAGES=C
270 export LC_PAPER=de_DE.UTF-8
271 export LC_NAME=de_DE.UTF-8
272 export LC_ADDRESS=de_DE.UTF-8
273 export LC_TELEPHONE=de_DE.UTF-8
274 export LC_MEASUREMENT=de_DE.UTF-8
275 export LC_IDENTIFICATION=de_DE.UTF-8
276
277 # Use XToolkit in java applications
278 export AWT_TOOLKIT=XToolkit
279
280 # Set background color
281 xsetroot -solid "#333333"
282
283 # Enable core dumps in case something goes wrong
284 ulimit -c unlimited
285
286 # Start i3 and log to ~/.i3/logfile
287 echo "Starting at $(date)" >> ~/.i3/logfile
288 exec /usr/bin/i3 -V -d all >> ~/.i3/logfile
289
290
292 There is still lot of work to do. Please check our bugtracker for
293 up-to-date information about tasks which are still not finished.
294
296 You should have a copy of the userguide (featuring nice
297 screenshots/graphics which is why this is not integrated into this
298 manpage), the debugging guide, and the "how to hack" guide. If you are
299 building from source, run: make -C docs
300
301 You can also access these documents online at http://i3.zekjur.net/
302
303 i3-input(1), i3-msg(1), i3-wsbar(1)
304
306 Michael Stapelberg and contributors
307
308
309
310i3 epsilon 06/09/2010 I3(1)