*Examples*:
--------------------------------
# Fullscreen
-bindsym mod+f f
+bindsym mod+f fullscreen
# Restart
bindsym mod+Shift+r restart
To get the class and instance, you can use +xprop+. After clicking on the
window, you will see the following output:
-*xwininfo*:
+*xprop*:
-----------------------------------
WM_CLASS(STRING) = "irssi", "URxvt"
-----------------------------------
used to paint it. If you use a color other than black for your terminals, you
most likely want to set the client background color to the same color as your
terminal program's background color to avoid black gaps between the rendered
-area of the termianal and the i3 border.
+area of the terminal and the i3 border.
Colors are in HTML hex format (#rrggbb), see the following example:
(to display a workspace bar), and to control i3.
The IPC socket is enabled by default and will be created in
-+/tmp/i3-%u/ipc-socket.%p+ where +%u+ is your UNIX username and +%p+ is the PID
-of i3.
++/tmp/i3-%u.XXXXXX/ipc-socket.%p+ where +%u+ is your UNIX username, +%p+ is
+the PID of i3 and XXXXXX is a string of random characters from the portable
+filename character set (see mkdtemp(3)).
You can override the default path through the environment-variable +I3SOCK+ or
by specifying the +ipc-socket+ directive. This is discouraged, though, since i3
-does the right thing by default.
+does the right thing by default. If you decide to change it, it is strongly
+recommended to set this to a location in your home directory so that no other
+user can create that directory.
*Examples*:
----------------------------
-ipc-socket /tmp/i3-ipc.sock
+ipc-socket ~/.i3/i3-ipc.sock
----------------------------
You can then use the +i3-msg+ application to perform any command listed in
*Example*:
-------------------------------------------------
-bar {
- status_command i3status --config ~/.i3status.conf
-}
+status_command i3status --config ~/.i3status.conf
-------------------------------------------------
=== Display mode
*Example*:
----------------
-bar {
- mode hide
-}
+mode hide
----------------
=== Position
*Example*:
---------------------
-bar {
- position top
-}
+position top
---------------------
=== Output(s)
handle all outputs. Restricting the outputs is useful for using different
options for different outputs by using multiple 'bar' blocks.
-To make a particular i3bar instance handle multiple outputs, specify the output
-directive multiple times.
-
*Syntax*:
---------------
output <output>
-------------------------------
# big monitor: everything
bar {
- # The display is connected either via HDMI or via DisplayPort
- output HDMI2
- output DP2
- status_command i3status
+ output HDMI2
+ status_command i3status
}
# laptop monitor: bright colors and i3status with less modules.
bar {
- output LVDS1
- status_command i3status --config ~/.i3status-small.conf
- colors {
- background #000000
- statusline #ffffff
- }
+ output LVDS1
+ status_command i3status --config ~/.i3status-small.conf
+ colors {
+ background #000000
+ statusline #ffffff
+ }
}
-------------------------------
*Example*:
-------------------------
# disable system tray
-bar {
- tray_output none
-}
+tray_output none
# show tray icons on the big monitor
-bar {
- tray_output HDMI2
-}
+tray_output HDMI2
-------------------------
=== Font
*Example*:
--------------------------------------------------------------
-bar {
- font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
-}
+font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
--------------------------------------------------------------
=== Workspace buttons
*Example*:
--------------------
-bar {
- workspace_buttons no
-}
+workspace_buttons no
--------------------
=== Colors
*Example*:
--------------------------------------
-bar {
- colors {
- background #000000
- statusline #ffffff
-
- focused_workspace #ffffff #285577
- active_workspace #ffffff #333333
- inactive_workspace #888888 #222222
- urgent_workspace #ffffff #900000
- }
+colors {
+ background #000000
+ statusline #ffffff
+
+ focused_workspace #ffffff #285577
+ active_workspace #ffffff #333333
+ inactive_workspace #888888 #222222
+ urgent_workspace #ffffff #900000
}
--------------------------------------
bindsym mod+g exec gimp
# Start the terminal emulator urxvt which is not yet startup-notification-aware
-bindsym mod+Return exec --no-startup-id urxvt
+bindsym mod+enter exec --no-startup-id urxvt
------------------------------
The +--no-startup-id+ parameter disables startup-notification support for this
You can also switch to the next and previous workspace with the commands
+workspace next+ and +workspace prev+, which is handy, for example, if you have
workspace 1, 3, 4 and 9 and you want to cycle through them with a single key
-combination. Similarily, you can use +move workspace next+ and +move workspace
+combination. Similarly, you can use +move workspace next+ and +move workspace
prev+ to move a container to the next/previous workspace.
[[back_and_forth]]
To move a container to another xrandr output such as +LVDS1+ or +VGA1+, you can
use the +move output+ command followed by the name of the target output. You
may also use +left+, +right+, +up+, +down+ instead of the xrandr output name to
-move to the the next output in the specified direction.
+move to the next output in the specified direction.
*Examples*:
-------------------------
<div class="listingblock">\r
<div class="content">\r
<pre><tt># Fullscreen\r
-bindsym mod+f f\r
+bindsym mod+f fullscreen\r
\r
# Restart\r
bindsym mod+Shift+r restart\r
use it, it has to be a UTF-8 encoded arrow, not <tt>-></tt> or something like that.</p></div>\r
<div class="paragraph"><p>To get the class and instance, you can use <tt>xprop</tt>. After clicking on the\r
window, you will see the following output:</p></div>\r
-<div class="paragraph"><p><strong>xwininfo</strong>:</p></div>\r
+<div class="paragraph"><p><strong>xprop</strong>:</p></div>\r
<div class="listingblock">\r
<div class="content">\r
<pre><tt>WM_CLASS(STRING) = "irssi", "URxvt"</tt></pre>\r
used to paint it. If you use a color other than black for your terminals, you\r
most likely want to set the client background color to the same color as your\r
terminal program’s background color to avoid black gaps between the rendered\r
-area of the termianal and the i3 border.</p></div>\r
+area of the terminal and the i3 border.</p></div>\r
<div class="paragraph"><p>Colors are in HTML hex format (#rrggbb), see the following example:</p></div>\r
<div class="paragraph"><p><strong>Examples (default colors)</strong>:</p></div>\r
<div class="listingblock">\r
programs to get information from i3, such as the current workspaces\r
(to display a workspace bar), and to control i3.</p></div>\r
<div class="paragraph"><p>The IPC socket is enabled by default and will be created in\r
-<tt>/tmp/i3-%u/ipc-socket.%p</tt> where <tt>%u</tt> is your UNIX username and <tt>%p</tt> is the PID\r
-of i3.</p></div>\r
+<tt>/tmp/i3-%u.XXXXXX/ipc-socket.%p</tt> where <tt>%u</tt> is your UNIX username, <tt>%p</tt> is\r
+the PID of i3 and XXXXXX is a string of random characters from the portable\r
+filename character set (see mkdtemp(3)).</p></div>\r
<div class="paragraph"><p>You can override the default path through the environment-variable <tt>I3SOCK</tt> or\r
by specifying the <tt>ipc-socket</tt> directive. This is discouraged, though, since i3\r
-does the right thing by default.</p></div>\r
+does the right thing by default. If you decide to change it, it is strongly\r
+recommended to set this to a location in your home directory so that no other\r
+user can create that directory.</p></div>\r
<div class="paragraph"><p><strong>Examples</strong>:</p></div>\r
<div class="listingblock">\r
<div class="content">\r
-<pre><tt>ipc-socket /tmp/i3-ipc.sock</tt></pre>\r
+<pre><tt>ipc-socket ~/.i3/i3-ipc.sock</tt></pre>\r
</div></div>\r
<div class="paragraph"><p>You can then use the <tt>i3-msg</tt> application to perform any command listed in\r
the next section.</p></div>\r
<div class="paragraph"><p><strong>Example</strong>:</p></div>\r
<div class="listingblock">\r
<div class="content">\r
-<pre><tt>bar {\r
- status_command i3status --config ~/.i3status.conf\r
-}</tt></pre>\r
+<pre><tt>status_command i3status --config ~/.i3status.conf</tt></pre>\r
</div></div>\r
</div>\r
<div class="sect2">\r
<div class="paragraph"><p><strong>Example</strong>:</p></div>\r
<div class="listingblock">\r
<div class="content">\r
-<pre><tt>bar {\r
- mode hide\r
-}</tt></pre>\r
+<pre><tt>mode hide</tt></pre>\r
</div></div>\r
</div>\r
<div class="sect2">\r
<div class="paragraph"><p><strong>Example</strong>:</p></div>\r
<div class="listingblock">\r
<div class="content">\r
-<pre><tt>bar {\r
- position top\r
-}</tt></pre>\r
+<pre><tt>position top</tt></pre>\r
</div></div>\r
</div>\r
<div class="sect2">\r
<div class="paragraph"><p>You can restrict i3bar to one or more outputs (monitors). The default is to\r
handle all outputs. Restricting the outputs is useful for using different\r
options for different outputs by using multiple <em>bar</em> blocks.</p></div>\r
-<div class="paragraph"><p>To make a particular i3bar instance handle multiple outputs, specify the output\r
-directive multiple times.</p></div>\r
<div class="paragraph"><p><strong>Syntax</strong>:</p></div>\r
<div class="listingblock">\r
<div class="content">\r
<div class="content">\r
<pre><tt># big monitor: everything\r
bar {\r
- # The display is connected either via HDMI or via DisplayPort\r
- output HDMI2\r
- output DP2\r
- status_command i3status\r
+ output HDMI2\r
+ status_command i3status\r
}\r
\r
# laptop monitor: bright colors and i3status with less modules.\r
bar {\r
- output LVDS1\r
- status_command i3status --config ~/.i3status-small.conf\r
- colors {\r
- background #000000\r
- statusline #ffffff\r
- }\r
+ output LVDS1\r
+ status_command i3status --config ~/.i3status-small.conf\r
+ colors {\r
+ background #000000\r
+ statusline #ffffff\r
+ }\r
}</tt></pre>\r
</div></div>\r
</div>\r
<div class="listingblock">\r
<div class="content">\r
<pre><tt># disable system tray\r
-bar {\r
- tray_output none\r
-}\r
+tray_output none\r
\r
# show tray icons on the big monitor\r
-bar {\r
- tray_output HDMI2\r
-}</tt></pre>\r
+tray_output HDMI2</tt></pre>\r
</div></div>\r
</div>\r
<div class="sect2">\r
<div class="paragraph"><p><strong>Example</strong>:</p></div>\r
<div class="listingblock">\r
<div class="content">\r
-<pre><tt>bar {\r
- font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1\r
-}</tt></pre>\r
+<pre><tt>font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1</tt></pre>\r
</div></div>\r
</div>\r
<div class="sect2">\r
<div class="paragraph"><p><strong>Example</strong>:</p></div>\r
<div class="listingblock">\r
<div class="content">\r
-<pre><tt>bar {\r
- workspace_buttons no\r
-}</tt></pre>\r
+<pre><tt>workspace_buttons no</tt></pre>\r
</div></div>\r
</div>\r
<div class="sect2">\r
<div class="paragraph"><p><strong>Example</strong>:</p></div>\r
<div class="listingblock">\r
<div class="content">\r
-<pre><tt>bar {\r
- colors {\r
- background #000000\r
- statusline #ffffff\r
+<pre><tt>colors {\r
+ background #000000\r
+ statusline #ffffff\r
\r
- focused_workspace #ffffff #285577\r
- active_workspace #ffffff #333333\r
- inactive_workspace #888888 #222222\r
- urgent_workspace #ffffff #900000\r
- }\r
+ focused_workspace #ffffff #285577\r
+ active_workspace #ffffff #333333\r
+ inactive_workspace #888888 #222222\r
+ urgent_workspace #ffffff #900000\r
}</tt></pre>\r
</div></div>\r
</div>\r
bindsym mod+g exec gimp\r
\r
# Start the terminal emulator urxvt which is not yet startup-notification-aware\r
-bindsym mod+Return exec --no-startup-id urxvt</tt></pre>\r
+bindsym mod+enter exec --no-startup-id urxvt</tt></pre>\r
</div></div>\r
<div class="paragraph"><p>The <tt>--no-startup-id</tt> parameter disables startup-notification support for this\r
particular exec command. With startup-notification, i3 can make sure that a\r
<div class="paragraph"><p>You can also switch to the next and previous workspace with the commands\r
<tt>workspace next</tt> and <tt>workspace prev</tt>, which is handy, for example, if you have\r
workspace 1, 3, 4 and 9 and you want to cycle through them with a single key\r
-combination. Similarily, you can use <tt>move workspace next</tt> and <tt>move workspace\r
+combination. Similarly, you can use <tt>move workspace next</tt> and <tt>move workspace\r
prev</tt> to move a container to the next/previous workspace.</p></div>\r
<div class="paragraph" id="back_and_forth"><p>To switch back to the previously focused workspace, use <tt>workspace\r
back_and_forth</tt>.</p></div>\r
<div class="paragraph"><p>To move a container to another xrandr output such as <tt>LVDS1</tt> or <tt>VGA1</tt>, you can\r
use the <tt>move output</tt> command followed by the name of the target output. You\r
may also use <tt>left</tt>, <tt>right</tt>, <tt>up</tt>, <tt>down</tt> instead of the xrandr output name to\r
-move to the the next output in the specified direction.</p></div>\r
+move to the next output in the specified direction.</p></div>\r
<div class="paragraph"><p><strong>Examples</strong>:</p></div>\r
<div class="listingblock">\r
<div class="content">\r