i3 User’s Guide
===============
Michael Stapelberg <michael+i3@stapelberg.de>
-October 2011
+January 2012
This document contains all the information you need to configure and use the i3
window manager. If it does not, please contact us on IRC (preferred) or post your
*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:
}
-------------------------------------------------
+[[status_command]]
=== Statusline command
i3bar can run a program and display every line of its +stdout+ output on the
You can have i3bar either be visible permanently at one edge of the screen
(+dock+ mode) or make it show up when you press your modifier key (+hide+
-mode).
+mode). The modifier key can be configured using the +modifier+ option.
The hide mode maximizes screen space that can be used for actual windows. Also,
i3bar sends the +SIGSTOP+ and +SIGCONT+ signals to the statusline process to
save battery power.
-The default is dock mode.
+The default is dock mode; in hide mode, the default modifier is Mod4 (usually
+the windows key).
*Syntax*:
----------------
mode <dock|hide>
+modifier <Modifier>
----------------
*Example*:
----------------
bar {
mode hide
+ modifier Mod1
}
----------------
+Available modifiers are Mod1-Mod5, Shift, Control (see +xmodmap(1)+).
+
+[[i3bar_position]]
=== Position
This option determines in which edge of the screen i3bar should show up.
=== Focusing/Moving containers
-To change the focus, use the focus command: +focus left+, +focus right+, +focus down+ and +focus up+.
+To change the focus, use the focus command: +focus left+, +focus right+, +focus
+down+ and +focus up+.
There are a few special parameters you can use for the focus command:
Sets focus to the last focused tiling container.
mode_toggle::
Toggles between floating/tiling containers.
+output::
+ Followed by a direction or an output name, this will focus the
+ corresponding output.
For moving, use +move left+, +move right+, +move down+ and +move up+.
-----------------------------------
focus <left|right|down|up>
focus <parent|child|floating|tiling|mode_toggle>
+focus output <<left|right|down|up>|output>
move <left|right|down|up> [<px> px]
-----------------------------------
# Focus last floating/tiling container
bindsym mod+g focus mode_toggle
+# Focus the output right to the current one
+bindsym mod+x focus output right
+
+# Focus the big output
+bindsym mod+x focus output HDMI-2
+
# Move container to the left, bottom, top, right:
bindsym mod+j move left
bindsym mod+k move down
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
-prev+ to move a container to the next/previous workspace.
+combination. To restrict those to the current output, use +workspace
+next_on_output+ and +workspace prev_on_output+. Similarly, you can use +move
+workspace next+ and +move workspace prev+ to move a container to the
+next/previous workspace.
[[back_and_forth]]
To switch back to the previously focused workspace, use +workspace
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*:
-------------------------
this task. It was written in C with the goal of using as few syscalls as
possible to reduce the time your CPU is woken up from sleep states. Because
i3status only spits out text, you need to combine it with some other tool, like
-i3bar. Use a pipe to connect them: +i3status | i3bar -d+.
+i3bar. See <<status_command>> for how to display i3status in i3bar.
Regardless of which application you use to display the status line, you
want to make sure that it registers as a dock window using EWMH hints. i3 will
position the window either at the top or at the bottom of the screen, depending
-on which hint the application sets. With i3bar, you can use +-d+ or +-dbottom+
-for positioning it at the bottom and +-dtop+ to position it at the top of the
-screen.
+on which hint the application sets. With i3bar, you can configure its position,
+see <<i3bar_position>>.
=== Giving presentations (multi-monitor)