]> git.sur5r.net Git - i3/i3.github.io/blobdiff - docs/userguide.html
save docs for 4.8
[i3/i3.github.io] / docs / userguide.html
index 45d0f0308618bdba37678d6554a73609cd02da75..8192d6ac05863833074185a974841d7088ffcb37 100644 (file)
@@ -4,13 +4,13 @@
 <head>\r
 <link rel="icon" type="image/png" href="/favicon.png">\r
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
-<meta name="generator" content="AsciiDoc 8.6.7" />\r
+<meta name="generator" content="AsciiDoc 8.6.9" />\r
 <title>i3: i3 User’s Guide</title>\r
 <link rel="stylesheet" href="/css/style.css" type="text/css" />\r
 <link rel="stylesheet" href="/css/xhtml11.css" type="text/css" />\r
 <script type="text/javascript">\r
 /*<![CDATA[*/\r
-window.onload = function(){asciidoc.footnotes(); asciidoc.toc(2);}\r
+document.addEventListener("DOMContentLoaded", function(){asciidoc.footnotes(); asciidoc.toc(2);}, false);\r
 /*]]>*/\r
 </script>\r
 <script type="text/javascript" src="/js/asciidoc-xhtml11.js"></script>\r
@@ -218,7 +218,8 @@ hint and are opened in floating mode by default.</p></div>
 <div class="paragraph"><p>You can toggle floating mode for a window by pressing <tt>$mod+Shift+Space</tt>. By\r
 dragging the window’s titlebar with your mouse you can move the window\r
 around. By grabbing the borders and moving them you can resize the window. You\r
-can also do that by using the <a href="#floating_modifier">[floating_modifier]</a>.</p></div>\r
+can also do that by using the <a href="#floating_modifier">[floating_modifier]</a>. Another way to resize\r
+floating windows using the mouse is to right-click on the titlebar and drag.</p></div>\r
 <div class="paragraph"><p>For resizing floating windows with your keyboard, see <a href="#resizingconfig">[resizingconfig]</a>.</p></div>\r
 <div class="paragraph"><p>Floating windows are always on top of tiling windows.</p></div>\r
 </div>\r
@@ -261,7 +262,7 @@ orientation (horizontal, vertical or unspecified) and the orientation depends
 on the layout the container is in (vertical for splitv and stacking, horizontal\r
 for splith and tabbed). So, in our example with the workspace, the default\r
 layout of the workspace <tt>Container</tt> is splith (most monitors are widescreen\r
-nowadays). If you change the layout to splitv (<tt>$mod+l</tt> in the default config)\r
+nowadays). If you change the layout to splitv (<tt>$mod+v</tt> in the default config)\r
 and <strong>then</strong> open two terminals, i3 will configure your windows like this:</p></div>\r
 <div class="imageblock">\r
 <div class="content">\r
@@ -317,13 +318,13 @@ command.</p></div>
 single workspace on which you open three terminal windows. All these terminal\r
 windows are directly attached to one node inside i3’s layout tree, the\r
 workspace node. By default, the workspace node’s orientation is <tt>horizontal</tt>.</p></div>\r
-<div class="paragraph"><p>Now you move one of these terminals down (<tt>$mod+k</tt> by default). The workspace\r
-node’s orientation will be changed to <tt>vertical</tt>. The terminal window you moved\r
-down is directly attached to the workspace and appears on the bottom of the\r
-screen. A new (horizontal) container was created to accomodate the other two\r
-terminal windows. You will notice this when switching to tabbed mode (for\r
-example). You would end up having one tab called "another container" and the\r
-other one being the terminal window you moved down.</p></div>\r
+<div class="paragraph"><p>Now you move one of these terminals down (<tt>$mod+Shift+k</tt> by default). The\r
+workspace node’s orientation will be changed to <tt>vertical</tt>. The terminal window\r
+you moved down is directly attached to the workspace and appears on the bottom\r
+of the screen. A new (horizontal) container was created to accommodate the\r
+other two terminal windows. You will notice this when switching to tabbed mode\r
+(for example). You would end up having one tab called "another container" and\r
+the other one being the terminal window you moved down.</p></div>\r
 </div>\r
 </div>\r
 </div>\r
@@ -517,7 +518,7 @@ floating_maximum_size -1 x -1</tt></pre>
 (anything wider than high) get horizontal orientation, rotated monitors\r
 (anything higher than wide) get vertical orientation.</p></div>\r
 <div class="paragraph"><p>With the <tt>default_orientation</tt> configuration directive, you can override that\r
-behaviour.</p></div>\r
+behavior.</p></div>\r
 <div class="paragraph"><p><strong>Syntax</strong>:</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
@@ -798,6 +799,15 @@ client.urgent
         A client which has its urgency hint activated.\r
 </p>\r
 </dd>\r
+<dt class="hdlist1">\r
+client.placeholder\r
+</dt>\r
+<dd>\r
+<p>\r
+        Background and text color are used to draw placeholder window contents\r
+        (when restoring layouts). Border and indicator are ignored.\r
+</p>\r
+</dd>\r
 </dl></div>\r
 <div class="paragraph"><p>You can also specify the color to be used to paint the background of the client\r
 windows. This color will be used to paint the window on top of which the client\r
@@ -817,7 +827,8 @@ used to paint it.</p></div>
 client.focused          #4c7899 #285577 #ffffff #2e9ef4\r
 client.focused_inactive #333333 #5f676a #ffffff #484e50\r
 client.unfocused        #333333 #222222 #888888 #292d2e\r
-client.urgent           #2f343a #900000 #ffffff #900000</tt></pre>\r
+client.urgent           #2f343a #900000 #ffffff #900000\r
+client.placeholder      #000000 #0c0c0c #ffffff #000000</tt></pre>\r
 </div></div>\r
 <div class="paragraph"><p>Note that for the window decorations, the color around the child window is the\r
 background color, and the border color is only the two thin lines at the top of\r
@@ -870,7 +881,26 @@ links in your browser window).</p></div>
 </div></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_popups_during_fullscreen_mode">4.18. Popups during fullscreen mode</h3>\r
+<h3 id="_mouse_warping">4.18. Mouse warping</h3>\r
+<div class="paragraph"><p>By default, when switching focus to a window on a different output (e.g.\r
+focusing a window on workspace 3 on output VGA-1, coming from workspace 2 on\r
+LVDS-1), the mouse cursor is warped to the center of that window.</p></div>\r
+<div class="paragraph"><p>With the <tt>mouse_warping</tt> option, you can control when the mouse cursor should\r
+be warped. <tt>none</tt> disables warping entirely, whereas <tt>output</tt> is the default\r
+behavior described above.</p></div>\r
+<div class="paragraph"><p><strong>Syntax</strong>:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>mouse_warping &lt;output|none&gt;</tt></pre>\r
+</div></div>\r
+<div class="paragraph"><p><strong>Example</strong>:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>mouse_warping none</tt></pre>\r
+</div></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_popups_during_fullscreen_mode">4.19. Popups during fullscreen mode</h3>\r
 <div class="paragraph"><p>When you are in fullscreen mode, some applications still open popup windows\r
 (take Xpdf for example). This is because these applications may not be aware\r
 that they are in fullscreen mode (they do not check the corresponding hint).\r
@@ -907,11 +937,11 @@ Leave fullscreen mode.
 </div></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_focus_wrapping">4.19. Focus wrapping</h3>\r
+<h3 id="_focus_wrapping">4.20. Focus wrapping</h3>\r
 <div class="paragraph"><p>When being in a tabbed or stacked container, the first container will be\r
 focused when you use <tt>focus down</tt> on the last container&#8201;&#8212;&#8201;the focus wraps. If\r
 however there is another stacked/tabbed container in that direction, focus will\r
-be set on that container. This is the default behaviour so you can navigate to\r
+be set on that container. This is the default behavior so you can navigate to\r
 all your windows without having to use <tt>focus parent</tt>.</p></div>\r
 <div class="paragraph"><p>If you want the focus to <strong>always</strong> wrap and you are aware of using <tt>focus\r
 parent</tt> to switch to different containers, you can use the\r
@@ -929,14 +959,14 @@ will always wrap.</p></div>
 </div></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_forcing_xinerama">4.20. Forcing Xinerama</h3>\r
+<h3 id="_forcing_xinerama">4.21. Forcing Xinerama</h3>\r
 <div class="paragraph"><p>As explained in-depth in <a href="http://i3wm.org/docs/multi-monitor.html">http://i3wm.org/docs/multi-monitor.html</a>, some X11\r
 video drivers (especially the nVidia binary driver) only provide support for\r
 Xinerama instead of RandR. In such a situation, i3 must be told to use the\r
 inferior Xinerama API explicitly and therefore don’t provide support for\r
 reconfiguring your screens on the fly (they are read only once on startup and\r
 that’s it).</p></div>\r
-<div class="paragraph"><p>For people who do cannot modify their <tt>~/.xsession</tt> to add the\r
+<div class="paragraph"><p>For people who cannot modify their <tt>~/.xsession</tt> to add the\r
 <tt>--force-xinerama</tt> commandline parameter, a configuration option is provided:</p></div>\r
 <div class="paragraph"><p><strong>Syntax</strong>:</p></div>\r
 <div class="listingblock">\r
@@ -952,7 +982,7 @@ that’s it).</p></div>
 Xinerama, instead they are counted up, starting at 0: <tt>xinerama-0</tt>, <tt>xinerama-1</tt>, …</p></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_automatic_back_and_forth_when_switching_to_the_current_workspace">4.21. Automatic back-and-forth when switching to the current workspace</h3>\r
+<h3 id="_automatic_back_and_forth_when_switching_to_the_current_workspace">4.22. Automatic back-and-forth when switching to the current workspace</h3>\r
 <div class="paragraph"><p>This configuration directive enables automatic <tt>workspace back_and_forth</tt> (see\r
 <a href="#back_and_forth">[back_and_forth]</a>) when switching to the workspace that is currently focused.</p></div>\r
 <div class="paragraph"><p>For instance: Assume you are on workspace "1: www" and switch to "2: IM" using\r
@@ -970,10 +1000,10 @@ came from now, you can just press $mod+2 again to switch back to "1: www".</p></
 </div></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_delaying_urgency_hint_reset_on_workspace_change">4.22. Delaying urgency hint reset on workspace change</h3>\r
+<h3 id="_delaying_urgency_hint_reset_on_workspace_change">4.23. Delaying urgency hint reset on workspace change</h3>\r
 <div class="paragraph"><p>If an application on another workspace sets an urgency hint, switching to this\r
 workspace may lead to immediate focus of the application, which also means the\r
-window decoration color would be immediately resetted to <tt>client.focused</tt>. This\r
+window decoration color would be immediately reset to <tt>client.focused</tt>. This\r
 may make it unnecessarily hard to tell which window originally raised the\r
 event.</p></div>\r
 <div class="paragraph"><p>In order to prevent this, you can tell i3 to delay resetting the urgency state\r
@@ -1256,7 +1286,50 @@ you want to display a statusline-only bar containing additional information.</p>
 </div></div>\r
 </div>\r
 <div class="sect2">\r
-<h3 id="_colors">5.10. Colors</h3>\r
+<h3 id="_strip_workspace_numbers">5.10. Strip workspace numbers</h3>\r
+<div class="paragraph"><p>Specifies whether workspace numbers should be displayed within the workspace\r
+buttons. This is useful if you want to have a named workspace that stays in\r
+order on the bar according to its number without displaying the number prefix.</p></div>\r
+<div class="paragraph"><p>When <tt>strip_workspace_numbers</tt> is set to <tt>yes</tt>, any workspace that has a name of\r
+the form "[n]:[NAME]" will display only the name. You could use this, for\r
+instance, to display Roman numerals rather than digits by naming your\r
+workspaces to "1:I", "2:II", "3:III", "4:IV", &#8230;</p></div>\r
+<div class="paragraph"><p>The default is to display the full name within the workspace button.</p></div>\r
+<div class="paragraph"><p><strong>Syntax</strong>:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>strip_workspace_numbers &lt;yes|no&gt;</tt></pre>\r
+</div></div>\r
+<div class="paragraph"><p><strong>Example</strong>:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>bar {\r
+    strip_workspace_numbers yes\r
+}</tt></pre>\r
+</div></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_binding_mode_indicator">5.11. Binding Mode indicator</h3>\r
+<div class="paragraph"><p>Specifies whether the current binding mode indicator should be shown or not.\r
+This is useful if you want to hide the workspace buttons but still be able\r
+to see the current binding mode indicator.\r
+For an example of a <tt>mode</tt> definition, see <a href="#resizingconfig">[resizingconfig]</a>.</p></div>\r
+<div class="paragraph"><p>The default is to show the mode indicator.</p></div>\r
+<div class="paragraph"><p><strong>Syntax</strong>:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>binding_mode_indicator &lt;yes|no&gt;</tt></pre>\r
+</div></div>\r
+<div class="paragraph"><p><strong>Example</strong>:</p></div>\r
+<div class="listingblock">\r
+<div class="content">\r
+<pre><tt>bar {\r
+    binding_mode_indicator no\r
+}</tt></pre>\r
+</div></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_colors">5.12. Colors</h3>\r
 <div class="paragraph"><p>As with i3, colors are in HTML hex format (#rrggbb). The following colors can\r
 be configured at the moment:</p></div>\r
 <div class="dlist"><dl>\r
@@ -1320,7 +1393,7 @@ urgent_workspace
 <dd>\r
 <p>\r
         Border, background and text color for a workspace button when the workspace\r
-        window with the urgency hint set.\r
+        contains a window with the urgency hint set. Also applies to <tt>mode</tt> indicators.\r
 </p>\r
 </dd>\r
 </dl></div>\r
@@ -1375,16 +1448,27 @@ the following keybinding:</p></div>
 <pre><tt>bindsym $mod+x move container to workspace 3; workspace 3</tt></pre>\r
 </div></div>\r
 <div class="paragraph" id="command_criteria"><p>Furthermore, you can change the scope of a command - that is, which containers\r
-should be affected by that command, by using various criteria. These are\r
-prefixed in square brackets to every command. If you want to kill all windows\r
-which have the class Firefox, use:</p></div>\r
+should be affected by that command, by using various criteria. The criteria\r
+are specified before any command in a pair of square brackets and are separated\r
+by space.</p></div>\r
+<div class="paragraph"><p>When using multiple commands, separate them by using a <tt>,</tt> (a comma) instead of\r
+a semicolon. Criteria apply only until the next semicolon, so if you use a\r
+semicolon to separate commands, only the first one will be executed for the\r
+matched window(s).</p></div>\r
 <div class="paragraph"><p><strong>Example</strong>:</p></div>\r
 <div class="listingblock">\r
 <div class="content">\r
-<pre><tt>bindsym $mod+x [class="Firefox"] kill\r
+<pre><tt># if you want to kill all windows which have the class Firefox, use:\r
+bindsym $mod+x [class="Firefox"] kill\r
 \r
 # same thing, but case-insensitive\r
-bindsym $mod+x [class="(?i)firefox"] kill</tt></pre>\r
+bindsym $mod+x [class="(?i)firefox"] kill\r
+\r
+# kill only the About dialog from Firefox\r
+bindsym $mod+x [class="Firefox" window_role="About"] kill\r
+\r
+# enable floating mode and move container to workspace 4\r
+for_window [class="^evil-app$"] floating enable, move container to workspace 4</tt></pre>\r
 </div></div>\r
 <div class="paragraph"><p>The criteria which are currently implemented are:</p></div>\r
 <div class="dlist"><dl>\r
@@ -1733,7 +1817,7 @@ specify a default name if there&#8217;s currently no workspace starting with a "
 <div class="paragraph"><p>You can rename workspaces. This might be useful to start with the default\r
 numbered workspaces, do your work, and rename the workspaces afterwards to\r
 reflect what’s actually on them. You can also omit the old name to rename\r
-the currently focused workspace. This is handy if you wan&#8217;t to use the\r
+the currently focused workspace. This is handy if you want to use the\r
 rename command with <tt>i3-input</tt>.</p></div>\r
 <div class="paragraph"><p><strong>Syntax</strong>:</p></div>\r
 <div class="listingblock">\r
@@ -1748,7 +1832,7 @@ rename workspace to &lt;new_name&gt;</tt></pre>
 i3-msg 'rename workspace 1 to "1: www"'\r
 i3-msg 'rename workspace "1: www" to "10: www"'\r
 i3-msg 'rename workspace to "2: mail"\r
-bindsym $mod+r exec i3-input -F 'rename workspace to %s' -P 'New name: '</tt></pre>\r
+bindsym $mod+r exec i3-input -F 'rename workspace to "%s"' -P 'New name: '</tt></pre>\r
 </div></div>\r
 </div>\r
 </div>\r