X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=_docs%2Fuserguide;h=67a00b19189db4576a13f379a40a37f30874c709;hb=refs%2Fpull%2F42%2Fhead;hp=a0f521c27b2613806742b35e494e15d351bea26f;hpb=032464499ebd3845d47ef437ccae5093e263af32;p=i3%2Fi3.github.io diff --git a/_docs/userguide b/_docs/userguide index a0f521c..67a00b1 100644 --- a/_docs/userguide +++ b/_docs/userguide @@ -1,11 +1,12 @@ i3 User’s Guide =============== Michael Stapelberg -February 2013 +March 2013 This document contains all the information you need to configure and use the i3 -window manager. If it does not, please check http://faq.i3wm.org/ first, then -contact us on IRC (preferred) or post your question(s) on the mailing list. +window manager. If it does not, please check https://www.reddit.com/r/i3wm/ +first, then contact us on IRC (preferred) or post your question(s) on the +mailing list. == Default keybindings @@ -23,18 +24,25 @@ image:keyboard-layer2.png["Keys to use with Shift+$mod",width=600,link="keyboard The red keys are the modifiers you need to press (by default), the blue keys are your homerow. +Note that when starting i3 without a config file, i3-config-wizard will offer +you to create a config file in which the key positions (!) match what you see +in the image above, regardless of the keyboard layout you are using. If you +prefer to use a config file where the key letters match what you are seeing +above, just decline i3-config-wizard’s offer and base your config on ++/etc/i3/config+. + == Using i3 Throughout this guide, the keyword +$mod+ will be used to refer to the -configured modifier. This is the Alt key (Mod1) by default, with windows (Mod4) -being a popular alternative. +configured modifier. This is the Alt key (+Mod1+) by default, with the Windows +key (+Mod4+) being a popular alternative. === Opening terminals and moving around One very basic operation is opening a new terminal. By default, the keybinding -for this is $mod+Enter, that is Alt+Enter in the default configuration. By -pressing $mod+Enter, a new terminal will be opened. It will fill the whole -space available on your screen. +for this is +$mod+Enter+, that is Alt+Enter (+Mod1+Enter+) in the default +configuration. By pressing +$mod+Enter+, a new terminal will be opened. It +will fill the whole space available on your screen. image:single_terminal.png[Single terminal] @@ -48,9 +56,9 @@ image:two_terminals.png[Two terminals] To move the focus between the two terminals, you can 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, +$mod+J+ is left, +$mod+K+ -is down, +$mod+L+ is up and `$mod+;` is right. So, to switch between the -terminals, use +$mod+K+ or +$mod+L+. Of course, you can also use the arrow keys. +compatibility with most keyboard layouts). Therefore, +$mod+j+ is left, +$mod+k+ +is down, +$mod+l+ is up and `$mod+;` is right. So, to switch between the +terminals, use +$mod+k+ or +$mod+l+. Of course, you can also use the arrow keys. At the moment, your workspace is split (it contains two terminals) in a specific direction (horizontal by default). Every window can be split @@ -91,7 +99,7 @@ To display a window in fullscreen mode or to go out of fullscreen mode again, press +$mod+f+. There is also a global fullscreen mode in i3 in which the client will span all -available outputs (the command is +fullscreen global+). +available outputs (the command is +fullscreen toggle global+). === Opening other applications @@ -107,7 +115,7 @@ create a keybinding for starting the application directly. See the section === Closing windows If an application does not provide a mechanism for closing (most applications -provide a menu, the escape key or a shortcut like +Control+W+ to close), you +provide a menu, the escape key or a shortcut like +Control+w+ to close), you can press +$mod+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 @@ -142,32 +150,38 @@ it does not yet exist. The easiest way to resize a container is by using the mouse: Grab the border and move it to the wanted size. -See <> for how to configure i3 to be able to resize -columns/rows with your keyboard. +You can also use <> to define a mode for resizing via the +keyboard. To see an example for this, look at the +https://github.com/i3/i3/blob/next/etc/config.keycodes[default config] provided +by i3. === Restarting i3 inplace -To restart i3 inplace (and thus get into a clean state if there is a bug, or +To restart i3 in place (and thus get into a clean state if there is a bug, or to upgrade to a newer version of i3) you can use +$mod+Shift+r+. === Exiting i3 To cleanly exit i3 without killing your X server, you can use +$mod+Shift+e+. +By default, a dialog will ask you to confirm if you really want to quit. === Floating -Floating mode is the opposite of tiling mode. The position and size of a window -are 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). Those windows usually set the -appropriate hint and are opened in floating mode by default. +Floating mode is the opposite of tiling mode. The position and size of +a window are not managed automatically by i3, but manually 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). Those windows usually set the appropriate +hint and are opened in floating mode by default. You can toggle floating mode for a window by pressing +$mod+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. You -can also do that by using the <>. +can also do that by using the <>. Another way to resize +floating windows using the mouse is to right-click on the titlebar and drag. -For resizing floating windows with your keyboard, see <>. +For resizing floating windows with your keyboard, see the resizing binding mode +provided by the i3 https://github.com/i3/i3/blob/next/etc/config.keycodes[default config]. Floating windows are always on top of tiling windows. @@ -192,9 +206,8 @@ like this: image::tree-layout2.png["layout2",float="right"] image::tree-shot4.png["shot4",title="Two terminals on standard workspace"] -=== Orientation and Split Containers - [[OrientationSplit]] +=== Orientation and Split Containers It is only natural to use so-called +Split Containers+ in order to build a layout when using a tree as data structure. In i3, every +Container+ has an @@ -202,7 +215,7 @@ orientation (horizontal, vertical or unspecified) and the orientation depends on the layout the container is in (vertical for splitv and stacking, horizontal for splith and tabbed). So, in our example with the workspace, the default layout of the workspace +Container+ is splith (most monitors are widescreen -nowadays). If you change the layout to splitv (+$mod+l+ in the default config) +nowadays). If you change the layout to splitv (+$mod+v+ in the default config) and *then* open two terminals, i3 will configure your windows like this: image::tree-shot2.png["shot2",title="Vertical Workspace Orientation"] @@ -231,7 +244,7 @@ vertically split terminals on the right, focus is on the bottom right one. When you open a new terminal, it will open below the current one. So, how can you open a new terminal window to the *right* of the current one? -The solution is to use +focus parent+, which will focus the +Parent Container+ of +The solution is to use +focus parent+ (+$mod+a+ by default), which will focus the +Parent Container+ of the current +Container+. In this case, you would focus the +Vertical Split Container+ which is *inside* the horizontally oriented workspace. Thus, now new windows will be opened to the right of the +Vertical Split Container+: @@ -248,18 +261,19 @@ single workspace on which you open three terminal windows. All these terminal windows are directly attached to one node inside i3’s layout tree, the workspace node. By default, the workspace node’s orientation is +horizontal+. -Now you move one of these terminals down (+$mod+k+ by default). The workspace -node’s orientation will be changed to +vertical+. The terminal window you moved -down is directly attached to the workspace and appears on the bottom of the -screen. A new (horizontal) container was created to accomodate the other two -terminal windows. You will notice this when switching to tabbed mode (for -example). You would end up having one tab called "another container" and the -other one being the terminal window you moved down. +Now you move one of these terminals down (+$mod+Shift+k+ by default). The +workspace node’s orientation will be changed to +vertical+. The terminal window +you moved down is directly attached to the workspace and appears on the bottom +of the screen. A new (horizontal) container was created to accommodate the +other two terminal windows. You will notice this when switching to tabbed mode +(for example). You would end up having one tab with a representation of the split +container (e.g., "H[urxvt firefox]") and the other one being the terminal window +you moved down. [[configuring]] == Configuring i3 -This is where the real fun begins ;-). Most things are very dependant on your +This is where the real fun begins ;-). Most things are very dependent 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 @@ -277,12 +291,21 @@ with a text editor. On first start (and on all following starts, unless you have a configuration file), i3 will offer you to create a configuration file. You can tell the -wizard to use either Alt (Mod1) or Windows (Mod4) as modifier in the config +wizard to use either Alt (+Mod1+) or Windows (+Mod4+) as modifier in the config file. Also, the created config file will use the key symbols of your current keyboard layout. To start the wizard, use the command +i3-config-wizard+. Please note that you must not have +~/.i3/config+, otherwise the wizard will exit. +Since i3 4.0, a new configuration format is used. i3 will try to automatically +detect the format version of a config file based on a few different keywords, +but if you want to make sure that your config is read with the new format, +include the following line in your config file: + +--------------------- +# i3 config file (v4) +--------------------- + === Comments It is possible and recommended to use comments in your configuration file to @@ -295,7 +318,6 @@ a # and can only be used at the beginning of a line: ------------------- [[fonts]] - === Fonts i3 has support for both X core fonts and FreeType fonts (through Pango) to @@ -316,7 +338,7 @@ and fall back to a working font. *Syntax*: ------------------------------ font -font pango:[family list] [style options] [size] +font pango: [