From 1fcad44f66926e679f4af6e4f4d6abcba700034c Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Mon, 1 Jun 2009 14:59:25 +0200 Subject: [PATCH] userguide: Document most features --- docs/single_terminal.png | Bin 0 -> 3382 bytes docs/snapping.png | Bin 0 -> 4880 bytes docs/two_columns.png | Bin 0 -> 4624 bytes docs/two_terminals.png | Bin 0 -> 4901 bytes docs/userguide | 243 ++++++++++++++++++++++++++++++++++++++- 5 files changed, 240 insertions(+), 3 deletions(-) create mode 100644 docs/single_terminal.png create mode 100644 docs/snapping.png create mode 100644 docs/two_columns.png create mode 100644 docs/two_terminals.png diff --git a/docs/single_terminal.png b/docs/single_terminal.png new file mode 100644 index 0000000000000000000000000000000000000000..4fe918cd2089f16a3b72b9291f655b57b0adefbf GIT binary patch literal 3382 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 B=(_*_ literal 0 HcmV?d00001 diff --git a/docs/two_columns.png b/docs/two_columns.png new file mode 100644 index 0000000000000000000000000000000000000000..6dc8c40c9021a3cdf6a3728d8c48afe29db4f277 GIT binary patch literal 4624 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 xz{KSTCJj3}& literal 0 HcmV?d00001 diff --git a/docs/two_terminals.png b/docs/two_terminals.png new file mode 100644 index 0000000000000000000000000000000000000000..20b45acfa66534e8803b4cf454ba44b6d7aba9f0 GIT binary patch literal 4901 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 literal 0 HcmV?d00001 diff --git a/docs/userguide b/docs/userguide index 3f337a19..b9272087 100644 --- a/docs/userguide +++ b/docs/userguide @@ -1,15 +1,164 @@ i3 User’s Guide =============== Michael Stapelberg -May 2009 +June 2009 This document contains all information you need to configuring and using the i3 window manager. If it does not, please contact me on IRC, Jabber or E-Mail and I’ll help you out. +== Using i3 + +=== Creating terminals and moving around + +A very basic operation is to create a new terminal. By default, the keybinding +for that is Mod1+Enter, that is Alt+Enter in the default configuration. By +pressing Mod1+Enter, a new terminal will be created and it will fill the whole +space which is available on your screen. + +image:single_terminal.png[Single terminal] + +It is important to keep in mind that i3 uses a table to manage your windows. At +the moment, you have exactly one column and one row which leaves you with one +cell. In this cell, there is a container in which your newly opened terminal is. + +If you now open another terminal, you still have only one cell. However, the +container has both of your terminals. + +image:two_terminals.png[Two terminals] + +To move the focus between the two terminals, you use the direction keys which +you may know from the editor +vi+. However, in i3, your homerow is used for +these keys (in +vi+, the keys are shifted to the left by one for compatibility +with most keyboard layouts). Therefore, +Mod1+J+ is left, +Mod1+K+ is down, +Mod1+L+ +is up and `Mod1+;` is right. So, to switch between the terminals, use +Mod1+K+ or ++Mod1+L+. + +To create a new row/column, you can simply move a terminal (or any other window) +to the direction you want to expand your table. So, let’s expand the table to +the right by pressing `Mod1+Shift+;`. + +image:two_columns.png[Two columns] + +=== Changing mode of containers + +A container can be in two modes at the moment (more to be implemented later): ++default+ or +stacking+. In default mode, clients are sized so that every client +gets an equal amount of space of the container. In stacking mode, only one +focused client of the container is displayed and you get a list of windows +at the top of the container. + +To switch the mode, press +Mod1+h+ for stacking and +Mod1+e+ for default. + +=== Toggling fullscreen mode for a window + +To display a window fullscreen or to go out of fullscreen mode again, press ++Mod1+f+. + +=== Opening other applications + +Aside from opening applicatios from a terminal, you can also use the handy ++dmenu+ which is opened by pressing +Mod1+v+ by default. Just type the name +(or a part of it) of the application which you want to open. It has to be in +your +$PATH+ for that to work. + +Furthermore, if you have applications you open very frequently, you can also +create a keybinding for it. See the section "Configuring i3" for details. + +=== Closing windows + +If an application does not provide a mechanism to close (most applications +provide a menu, the escape key or a shortcut like +Control+W+ to close), you +can press +Mod1+Shift+q+ to kill a window. For applications which support +the WM_DELETE protocol, this will correctly close the application (saving +any modifications or doing other cleanup). If the application doesn’t support +it, your X server will kill the window and the behaviour depends on the +application. + +=== Using workspaces + +Workspaces are an easy way to group a set of windows. By default, you are on +the first workspace, as the bar on the bottom left indicates. To switch to +another workspace, press +Mod1+num+ where +num+ is the number of the workspace +you want to use. If the workspace does not exist yet, it will be created. + +A common paradigm is to put the web browser on one workspace, communication +applications (+mutt+, +irssi+, ...) on another one and the ones with which you +work on the third one. Of course, there is no need to follow this approach. + +If you have multiple screens, a workspace will be created on each screen. If +you open a new workspace, it will be bound to the screen you created it on. +When you switch to a workspace on another screen, i3 will set focus to this +screen. + +=== Moving windows to workspaces + +To move a window to another workspace, simply press +Mod1+Shift+num+ where ++num+ is (like when switching workspaces) the number of the target workspace. +Similarly to switching workspaces, the target workspace will be created if +it does not yet exist. + +=== Resizing columns + +To resize columns just grab the border between the two columns and move it to +the wanted size. + +A command for doing this via keyboard will be implemented soon. + +=== Restarting i3 inplace + +To restart i3 inplace (and thus get it into a clean state if it has a bug, to +reload your configuration or even to upgrade to a newer version of i3) you +can use +Mod1+Shift+r+. Be aware, though, that this kills your current layout +and all the windows you have opened will be put in a default container in only +one cell. This will be implemented in a later version. + +=== Exiting i3 + +To cleanly exit i3 without killing your X server, you can use +Mod1+Shift+e+. + +=== Snapping + +Snapping is a mechanism to increase/decrease the colspan/rowspan of a container. +Colspan/rowspan is the amount of columns/rows a specific cell of the table +consumes. This is easier explained by giving an example, so take the following +layout: + +image:snapping.png[Snapping example] + +To use the full size of your screen, you can now snap container 3 downwards +by pressing +Mod1+Control+k+. + +=== Floating + +Floating is the opposite of tiling mode. The position and size of a window +are then not managed by i3, but by you. Using this mode violates the tiling +paradigm but can be useful for some corner cases like "Save as" dialog +windows or toolbar windows (GIMP or similar). + +You can enable floating for a window by pressing +Mod1+Shift+Space+. By +dragging the window’s titlebar with your mouse, you can move the window +around. By grabbing the borders and moving them you can resize the window. + +Bindings for doing this with your keyboard will follow. + +Floating clients are always on top of tiling clients. + == Configuring i3 -TODO: document the other options, implement variables before +This is where the real fun begins ;-). Most things are very dependant on your +ideal working environment, so we can’t make reasonable defaults for them. + +While not using a programming language for the configuration, i3 stays +quite flexible regarding to the things you usually want your window manager +to do. + +For example, you can configure bindings to jump to specific windows, +you can set specific applications to start on a specific workspace, you can +automatically start applications, you can change the colors of i3 or bind +your keys to do useful stuff. + +TODO: implement variables terminal:: Specifies the terminal emulator program you prefer. It will be started @@ -23,7 +172,11 @@ font:: === Keyboard bindings -TODO +You can use each command (see below) using keyboard bindings. At the moment, +keyboard bindings require you to specify the keycode (38) of the key, not its key +symbol ("a"). This has some advantages (keybindings make sense regardless of +the layout you type) and some disadvantages (hard to remember, you have to look +them up every time). *Syntax*: -------------------------------- @@ -73,3 +226,87 @@ assign urxvt → 2 assign "urxvt" → 2 assign "urxvt/VIM" → 3 ---------------------- + +=== Automatically starting applications on startup + +By using the +exec+ keyword outside a keybinding, you can configure which +commands will be performed by i3 on the first start (not when reloading inplace +however). The commands will be run in order. + +*Syntax*: +------------ +exec command +------------ + +*Examples*: +-------------------------------- +exec sudo i3status | dzen2 -dock +-------------------------------- + +=== Jumping to specific windows + +Especially when in a multi-monitor environment, you want to quickly jump to a specific +window, for example while currently working on workspace 3 you may want to jump to +your mailclient to mail your boss that you’ve achieved some important goal. Instead +of figuring out how to navigate to your mailclient, it would be more convenient to +have a shortcut. + +*Syntax*: +---------------------------------------------------- +jump ["]window class[/window title]["] +jump workspace [ column row ] +---------------------------------------------------- + +You can either use the same matching algorithm as in the +assign+ command (see above) +or you can specify the position of the client if you always use the same layout. + +*Examples*: +-------------------------------------- +# Get me to the next open VIM instance +bind Mod1+38 jump "urxvt/VIM" +-------------------------------------- + +=== Traveling the focus stack + +This mechanism can be thought of as the opposite of the +jump+ command. It travels +the focus stack and jumps to the window you focused before. + +*Syntax*: +-------------- +focus [number] +-------------- + +Where +number+ by default is 1 meaning that the next client in the focus stack will +be selected. + +=== Changing colors + +You can change all colors which i3 uses to draw the window decorations and the +bottom bar. + +*Syntax*: +-------------------------------------------- +colorclass border background text +-------------------------------------------- + +Where colorclass can be one of: + +client.focused:: + A client which currently has the focus. +client.focused_inactive:: + A client which is the focused one of its container, but it does not have + the focus at the moment. +client.unfocused:: + A client which is not the focused one of its container. +bar.focused:: + The current workspace in the bottom bar. +bar.unfocused:: + All other workspaces in the bottom bar. + +Colors are in HTML hex format, see below. + +*Examples*: +-------------------------------------- +# class border backgr. text +client.focused #2F343A #900000 #FFFFFF +--------------------------------------