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