]> git.sur5r.net Git - i3/i3.github.io/blob - docs/4.8/i3.html
save docs for 4.8
[i3/i3.github.io] / docs / 4.8 / i3.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
4 <head>\r
5 <link rel="icon" type="image/png" href="/favicon.png">\r
6 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
7 <meta name="generator" content="AsciiDoc 8.6.9" />\r
8 <title>i3: i3(1)</title>\r
9 <link rel="stylesheet" href="/css/style.css" type="text/css" />\r
10 <link rel="stylesheet" href="/css/xhtml11.css" type="text/css" />\r
11 <script type="text/javascript">\r
12 /*<![CDATA[*/\r
13 document.addEventListener("DOMContentLoaded", function(){asciidoc.footnotes(); asciidoc.toc(2);}, false);\r
14 /*]]>*/\r
15 </script>\r
16 <script type="text/javascript" src="/js/asciidoc-xhtml11.js"></script>\r
17 </head>\r
18 <body class="article">\r
19 \r
20         <div id="main">\r
21             <a href="/"><h1 id="title">i3 - improved tiling WM</h1></a>\r
22                         <ul id="nav">\r
23                                 <li><a style="border-bottom: 2px solid #fff" href="/docs">Docs</a></li>\r
24                                 <li><a href="/screenshots">Screens</a></li>\r
25                                 <li><a href="/contact">Contact</a></li>\r
26                                 <li><a href="http://bugs.i3wm.org/">Bugs</a></li>\r
27                         </ul>\r
28         <br style="clear: both">\r
29 <div id="content">\r
30 <div id="header">\r
31 <h1>i3(1)</h1>\r
32 <span id="author">Michael Stapelberg</span><br />\r
33 <span id="email"><tt>&lt;<a href="mailto:michael+i3@stapelberg.de">michael+i3@stapelberg.de</a>&gt;</tt></span><br />\r
34 <span id="revnumber">version 4.0,</span>\r
35 <span id="revdate">July 2011</span>\r
36 <div id="toc">
37   <div id="toctitle">Table of Contents</div>
38   <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
39 </div>\r
40 </div>\r
41 <div class="sect1">\r
42 <h2 id="_name">1. NAME</h2>\r
43 <div class="sectionbody">\r
44 <div class="paragraph"><p>i3 - an improved dynamic, tiling window manager</p></div>\r
45 </div>\r
46 </div>\r
47 <div class="sect1">\r
48 <h2 id="_synopsis">2. SYNOPSIS</h2>\r
49 <div class="sectionbody">\r
50 <div class="paragraph"><p>i3 [-a] [-c configfile] [-C] [-d &lt;loglevel&gt;] [-v] [-V]</p></div>\r
51 </div>\r
52 </div>\r
53 <div class="sect1">\r
54 <h2 id="_options">3. OPTIONS</h2>\r
55 <div class="sectionbody">\r
56 <div class="dlist"><dl>\r
57 <dt class="hdlist1">\r
58 -a\r
59 </dt>\r
60 <dd>\r
61 <p>\r
62 Disables autostart.\r
63 </p>\r
64 </dd>\r
65 <dt class="hdlist1">\r
66 -c\r
67 </dt>\r
68 <dd>\r
69 <p>\r
70 Specifies an alternate configuration file path.\r
71 </p>\r
72 </dd>\r
73 <dt class="hdlist1">\r
74 -C\r
75 </dt>\r
76 <dd>\r
77 <p>\r
78 Check the configuration file for validity and exit.\r
79 </p>\r
80 </dd>\r
81 <dt class="hdlist1">\r
82 -d\r
83 </dt>\r
84 <dd>\r
85 <p>\r
86 Specifies the debug loglevel. To see the most output, use -d all.\r
87 </p>\r
88 </dd>\r
89 <dt class="hdlist1">\r
90 -v\r
91 </dt>\r
92 <dd>\r
93 <p>\r
94 Display version number (and date of the last commit).\r
95 </p>\r
96 </dd>\r
97 <dt class="hdlist1">\r
98 -V\r
99 </dt>\r
100 <dd>\r
101 <p>\r
102 Be verbose.\r
103 </p>\r
104 </dd>\r
105 </dl></div>\r
106 </div>\r
107 </div>\r
108 <div class="sect1">\r
109 <h2 id="_description">4. DESCRIPTION</h2>\r
110 <div class="sectionbody">\r
111 <div class="sect2">\r
112 <h3 id="_introduction">4.1. INTRODUCTION</h3>\r
113 <div class="paragraph"><p>i3 was created because wmii, our favorite window manager at the time, didn’t\r
114 provide some features we wanted (multi-monitor done right, for example), had\r
115 some bugs, didn’t progress since quite some time and wasn’t easy to hack at all\r
116 (source code comments/documentation completely lacking). Still, we think the\r
117 wmii developers and contributors did a great job. Thank you for inspiring us to\r
118 create i3.</p></div>\r
119 <div class="paragraph"><p>Please be aware that i3 is primarily targeted at advanced users and developers.</p></div>\r
120 </div>\r
121 <div class="sect2">\r
122 <h3 id="_important_note_to_nvidia_binary_driver_users">4.2. IMPORTANT NOTE TO nVidia BINARY DRIVER USERS</h3>\r
123 <div class="paragraph"><p>If you are using the nVidia binary graphics driver (also known as <em>blob</em>)\r
124 you need to use the <tt>--force-xinerama</tt> flag (in your ~/.xsession) when starting\r
125 i3, like so:</p></div>\r
126 <div class="listingblock">\r
127 <div class="content">\r
128 <pre><tt>exec i3 --force-xinerama -V &gt;&gt;~/.i3/i3log 2&gt;&amp;1</tt></pre>\r
129 </div></div>\r
130 <div class="paragraph"><p>See also docs/multi-monitor for the full explanation.</p></div>\r
131 </div>\r
132 <div class="sect2">\r
133 <h3 id="_terminology">4.3. TERMINOLOGY</h3>\r
134 <div class="dlist"><dl>\r
135 <dt class="hdlist1">\r
136 Tree\r
137 </dt>\r
138 <dd>\r
139 <p>\r
140 i3 keeps your layout in a tree data structure.\r
141 </p>\r
142 </dd>\r
143 <dt class="hdlist1">\r
144 Window\r
145 </dt>\r
146 <dd>\r
147 <p>\r
148 An X11 window, like the Firefox browser window or a terminal emulator.\r
149 </p>\r
150 </dd>\r
151 <dt class="hdlist1">\r
152 Split container\r
153 </dt>\r
154 <dd>\r
155 <p>\r
156 A split container contains multiple other split containers or windows.\r
157 </p>\r
158 <div class="paragraph"><p>Containers can be used in various layouts. The default mode is called "default"\r
159 and just resizes each client equally so that it fits.</p></div>\r
160 </dd>\r
161 <dt class="hdlist1">\r
162 Workspace\r
163 </dt>\r
164 <dd>\r
165 <p>\r
166 A workspace is a set of containers. Other window managers call this "Virtual\r
167 Desktops".\r
168 </p>\r
169 <div class="paragraph"><p>In i3, each workspace is assigned to a specific virtual screen. By default,\r
170 screen 1 has workspace 1, screen 2 has workspace 2 and so on… However, when you\r
171 create a new workspace (by simply switching to it), it’ll be assigned the\r
172 screen you are currently on.</p></div>\r
173 </dd>\r
174 <dt class="hdlist1">\r
175 Output\r
176 </dt>\r
177 <dd>\r
178 <p>\r
179 Using XRandR, you can have an X11 screen spanning multiple real monitors.\r
180 Furthermore, you can set them up in cloning mode or with positions (monitor 1\r
181 is left of monitor 2).\r
182 </p>\r
183 <div class="paragraph"><p>i3 uses the RandR API to query which outputs are available and which screens\r
184 are connected to these outputs.</p></div>\r
185 </dd>\r
186 </dl></div>\r
187 </div>\r
188 </div>\r
189 </div>\r
190 <div class="sect1">\r
191 <h2 id="_keybindings">5. KEYBINDINGS</h2>\r
192 <div class="sectionbody">\r
193 <div class="paragraph"><p>Here is a short overview of the default keybindings:</p></div>\r
194 <div class="dlist"><dl>\r
195 <dt class="hdlist1">\r
196 j/k/l/;\r
197 </dt>\r
198 <dd>\r
199 <p>\r
200 Direction keys (left, down, up, right). They are on your homerow (see the mark\r
201 on your "j" key). Alternatively, you can use the cursor keys.\r
202 </p>\r
203 </dd>\r
204 <dt class="hdlist1">\r
205 Mod1+&lt;direction&gt;\r
206 </dt>\r
207 <dd>\r
208 <p>\r
209 Focus window in &lt;direction&gt;.\r
210 </p>\r
211 </dd>\r
212 <dt class="hdlist1">\r
213 Mod1+Shift+&lt;direction&gt;\r
214 </dt>\r
215 <dd>\r
216 <p>\r
217 Move window to &lt;direction&gt;.\r
218 </p>\r
219 </dd>\r
220 <dt class="hdlist1">\r
221 Mod1+&lt;number&gt;\r
222 </dt>\r
223 <dd>\r
224 <p>\r
225 Switch to workspace &lt;number&gt;.\r
226 </p>\r
227 </dd>\r
228 <dt class="hdlist1">\r
229 Mod1+Shift+&lt;number&gt;\r
230 </dt>\r
231 <dd>\r
232 <p>\r
233 Move window to workspace &lt;number&gt;.\r
234 </p>\r
235 </dd>\r
236 <dt class="hdlist1">\r
237 Mod1+f\r
238 </dt>\r
239 <dd>\r
240 <p>\r
241 Toggle fullscreen mode.\r
242 </p>\r
243 </dd>\r
244 <dt class="hdlist1">\r
245 Mod1+s\r
246 </dt>\r
247 <dd>\r
248 <p>\r
249 Enable stacking layout for the current container.\r
250 </p>\r
251 </dd>\r
252 <dt class="hdlist1">\r
253 Mod1+e\r
254 </dt>\r
255 <dd>\r
256 <p>\r
257 Enable default layout for the current container.\r
258 </p>\r
259 </dd>\r
260 <dt class="hdlist1">\r
261 Mod1+w\r
262 </dt>\r
263 <dd>\r
264 <p>\r
265 Enable tabbed layout for the current container.\r
266 </p>\r
267 </dd>\r
268 <dt class="hdlist1">\r
269 Mod1+Shift+Space\r
270 </dt>\r
271 <dd>\r
272 <p>\r
273 Toggle tiling/floating for the current container.\r
274 </p>\r
275 </dd>\r
276 <dt class="hdlist1">\r
277 Mod1+Space\r
278 </dt>\r
279 <dd>\r
280 <p>\r
281 Select the first tiling container if the current container is floating and\r
282 vice-versa.\r
283 </p>\r
284 </dd>\r
285 <dt class="hdlist1">\r
286 Mod1+Shift+q\r
287 </dt>\r
288 <dd>\r
289 <p>\r
290 Kills the current window. This is equivalent to "clicking on the close button",\r
291 meaning a polite request to the application to close this window. For example,\r
292 Firefox will save its session upon such a request. If the application does not\r
293 support that, the window will be killed and it depends on the application what\r
294 happens.\r
295 </p>\r
296 </dd>\r
297 <dt class="hdlist1">\r
298 Mod1+Shift+r\r
299 </dt>\r
300 <dd>\r
301 <p>\r
302 Restarts i3 in place. Your layout will be preserved.\r
303 </p>\r
304 </dd>\r
305 <dt class="hdlist1">\r
306 Mod1+Shift+e\r
307 </dt>\r
308 <dd>\r
309 <p>\r
310 Exits i3.\r
311 </p>\r
312 </dd>\r
313 </dl></div>\r
314 </div>\r
315 </div>\r
316 <div class="sect1">\r
317 <h2 id="_files">6. FILES</h2>\r
318 <div class="sectionbody">\r
319 <div class="sect2">\r
320 <h3 id="_i3_config_or_config_i3_config">6.1. ~/.i3/config (or ~/.config/i3/config)</h3>\r
321 <div class="paragraph"><p>When starting, i3 looks for configuration files in the following order:</p></div>\r
322 <div class="olist arabic"><ol class="arabic">\r
323 <li>\r
324 <p>\r
325 ~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config if set)\r
326 </p>\r
327 </li>\r
328 <li>\r
329 <p>\r
330 /etc/xdg/i3/config (or $XDG_CONFIG_DIRS/i3/config if set)\r
331 </p>\r
332 </li>\r
333 <li>\r
334 <p>\r
335 ~/.i3/config\r
336 </p>\r
337 </li>\r
338 <li>\r
339 <p>\r
340 /etc/i3/config\r
341 </p>\r
342 </li>\r
343 </ol></div>\r
344 <div class="paragraph"><p>You can specify a custom path using the -c option.</p></div>\r
345 <div class="listingblock">\r
346 <div class="title">Sample configuration</div>\r
347 <div class="content">\r
348 <pre><tt># i3 config file (v4)\r
349 \r
350 # font for window titles. ISO 10646 = Unicode\r
351 font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1\r
352 \r
353 # use Mouse+Mod1 to drag floating windows to their wanted position\r
354 floating_modifier Mod1\r
355 \r
356 # start a terminal\r
357 bindsym Mod1+Return exec /usr/bin/urxvt\r
358 \r
359 # kill focused window\r
360 bindsym Mod1+Shift+q kill\r
361 \r
362 # start dmenu (a program launcher)\r
363 bindsym Mod1+d exec /usr/bin/dmenu_run\r
364 \r
365 # change focus\r
366 bindsym Mod1+j focus left\r
367 bindsym Mod1+k focus down\r
368 bindsym Mod1+l focus up\r
369 bindsym Mod1+semicolon focus right\r
370 \r
371 # alternatively, you can use the cursor keys:\r
372 bindsym Mod1+Left focus left\r
373 bindsym Mod1+Down focus down\r
374 bindsym Mod1+Up focus up\r
375 bindsym Mod1+Right focus right\r
376 \r
377 # move focused window\r
378 bindsym Mod1+Shift+j move left\r
379 bindsym Mod1+Shift+k move down\r
380 bindsym Mod1+Shift+l move up\r
381 bindsym Mod1+Shift+semicolon move right\r
382 \r
383 # alternatively, you can use the cursor keys:\r
384 bindsym Mod1+Shift+Left move left\r
385 bindsym Mod1+Shift+Down move down\r
386 bindsym Mod1+Shift+Up move up\r
387 bindsym Mod1+Shift+Right move right\r
388 \r
389 # split in horizontal orientation\r
390 bindsym Mod1+h split h\r
391 \r
392 # split in vertical orientation\r
393 bindsym Mod1+v split v\r
394 \r
395 # enter fullscreen mode for the focused container\r
396 bindsym Mod1+f fullscreen\r
397 \r
398 # change container layout (stacked, tabbed, default)\r
399 bindsym Mod1+s layout stacking\r
400 bindsym Mod1+w layout tabbed\r
401 bindsym Mod1+e layout default\r
402 \r
403 # toggle tiling / floating\r
404 bindsym Mod1+Shift+space floating toggle\r
405 \r
406 # change focus between tiling / floating windows\r
407 bindsym Mod1+space focus mode_toggle\r
408 \r
409 # focus the parent container\r
410 bindsym Mod1+a focus parent\r
411 \r
412 # focus the child container\r
413 #bindsym Mod1+d focus child\r
414 \r
415 # switch to workspace\r
416 bindsym Mod1+1 workspace 1\r
417 bindsym Mod1+2 workspace 2\r
418 # ..\r
419 \r
420 # move focused container to workspace\r
421 bindsym Mod1+Shift+1 move workspace 1\r
422 bindsym Mod1+Shift+2 move workspace 2\r
423 # ...\r
424 \r
425 # reload the configuration file\r
426 bindsym Mod1+Shift+c reload\r
427 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)\r
428 bindsym Mod1+Shift+r restart\r
429 # exit i3 (logs you out of your X session)\r
430 bindsym Mod1+Shift+e exit\r
431 \r
432 # display workspace buttons plus a statusline generated by i3status\r
433 bar {\r
434     status_command i3status\r
435 }</tt></pre>\r
436 </div></div>\r
437 </div>\r
438 <div class="sect2">\r
439 <h3 id="_xsession">6.2. ~/.xsession</h3>\r
440 <div class="paragraph"><p>This file is where you should configure your locales and start i3. It is run by\r
441 your login manager (xdm, slim, gdm, …) as soon as you login.</p></div>\r
442 <div class="listingblock">\r
443 <div class="title">Sample xsession</div>\r
444 <div class="content">\r
445 <pre><tt># Disable DPMS turning off the screen\r
446 xset -dpms\r
447 xset s off\r
448 \r
449 # Disable bell\r
450 xset -b\r
451 \r
452 # Enable zapping (C-A-&lt;Bksp&gt; kills X)\r
453 setxkbmap -option terminate:ctrl_alt_bksp\r
454 \r
455 # Enforce correct locales from the beginning\r
456 unset LC_COLLATE\r
457 export LC_CTYPE=de_DE.UTF-8\r
458 export LC_TIME=de_DE.UTF-8\r
459 export LC_NUMERIC=de_DE.UTF-8\r
460 export LC_MONETARY=de_DE.UTF-8\r
461 export LC_MESSAGES=C\r
462 export LC_PAPER=de_DE.UTF-8\r
463 export LC_NAME=de_DE.UTF-8\r
464 export LC_ADDRESS=de_DE.UTF-8\r
465 export LC_TELEPHONE=de_DE.UTF-8\r
466 export LC_MEASUREMENT=de_DE.UTF-8\r
467 export LC_IDENTIFICATION=de_DE.UTF-8\r
468 \r
469 # Use XToolkit in java applications\r
470 export AWT_TOOLKIT=XToolkit\r
471 \r
472 # Set background color\r
473 xsetroot -solid "#333333"\r
474 \r
475 # Enable core dumps in case something goes wrong\r
476 ulimit -c unlimited\r
477 \r
478 # Start i3 and log to ~/.i3/logfile\r
479 echo "Starting at $(date)" &gt;&gt; ~/.i3/logfile\r
480 exec /usr/bin/i3 -V -d all &gt;&gt; ~/.i3/logfile</tt></pre>\r
481 </div></div>\r
482 </div>\r
483 </div>\r
484 </div>\r
485 <div class="sect1">\r
486 <h2 id="_environment">7. ENVIRONMENT</h2>\r
487 <div class="sectionbody">\r
488 <div class="sect2">\r
489 <h3 id="_i3sock">7.1. I3SOCK</h3>\r
490 <div class="paragraph"><p>This variable overwrites the IPC socket path (placed in\r
491 /tmp/i3-%u.XXXXXX/ipc-socket.%p by default, where %u is replaced with your UNIX\r
492 username, %p is replaced with i3’s PID and XXXXXX is a string of random\r
493 characters from the portable filename character set (see mkdtemp(3))). The IPC\r
494 socket is used by external programs like i3-msg(1) or i3bar(1).</p></div>\r
495 </div>\r
496 </div>\r
497 </div>\r
498 <div class="sect1">\r
499 <h2 id="_todo">8. TODO</h2>\r
500 <div class="sectionbody">\r
501 <div class="paragraph"><p>There is still lot of work to do. Please check our bugtracker for up-to-date\r
502 information about tasks which are still not finished.</p></div>\r
503 </div>\r
504 </div>\r
505 <div class="sect1">\r
506 <h2 id="_see_also">9. SEE ALSO</h2>\r
507 <div class="sectionbody">\r
508 <div class="paragraph"><p>You should have a copy of the userguide (featuring nice screenshots/graphics\r
509 which is why this is not integrated into this manpage), the debugging guide,\r
510 and the "how to hack" guide. If you are building from source, run:\r
511  <tt>make -C docs</tt></p></div>\r
512 <div class="paragraph"><p>You can also access these documents online at <a href="http://i3.zekjur.net/">http://i3.zekjur.net/</a></p></div>\r
513 <div class="paragraph"><p>i3-input(1), i3-msg(1), i3-wsbar(1), i3-nagbar(1), i3-config-wizard(1),\r
514 i3-migrate-config-to-v4(1)</p></div>\r
515 </div>\r
516 </div>\r
517 <div class="sect1">\r
518 <h2 id="_author">10. AUTHOR</h2>\r
519 <div class="sectionbody">\r
520 <div class="paragraph"><p>Michael Stapelberg and contributors</p></div>\r
521 </div>\r
522 </div>\r
523 </div>\r
524 <div id="footnotes"><hr /></div>\r
525 <div id="footer" lang="de">\r
526 © 2009-2011 Michael Stapelberg, <a href="/impress.html">Impressum</a>\r
527 </div>\r
528 </body>\r
529 </html>\r