Fix spelling errors/strange sentences in the user’s guide

Proof-reading is very appreciated.
This commit is contained in:
Michael Stapelberg 2010-03-15 18:23:12 +01:00
parent c738b2e454
commit c58c7b9c63
1 changed files with 56 additions and 50 deletions

View File

@ -3,7 +3,7 @@ i3 Users Guide
Michael Stapelberg <michael+i3@stapelberg.de> Michael Stapelberg <michael+i3@stapelberg.de>
March 2010 March 2010
This document contains all information you need to configuring and using the i3 This document contains all information you need for configuring and using the i3
window manager. If it does not, please contact me on IRC, Jabber or E-Mail and window manager. If it does not, please contact me on IRC, Jabber or E-Mail and
Ill help you out. Ill help you out.
@ -20,20 +20,20 @@ image:keyboard-layer1.png["Keys to use with Mod1 (alt)",width=600,link="keyboard
image:keyboard-layer2.png["Keys to use with Shift+Mod1",width=600,link="keyboard-layer2.png"] image:keyboard-layer2.png["Keys to use with Shift+Mod1",width=600,link="keyboard-layer2.png"]
As i3 uses keycodes in the default configuration, it does not mapper which As i3 uses keycodes in the default configuration, it does not matter which
layout you actually use. The key positions are what matters (of course you can layout you actually use. The key positions are what matters (of course you can
also use keysymbols, see below). also use keysymbols, see below).
The red keys are the modifiers you need to press (by default, you may have The red keys are the modifiers you need to press (by default), the blue keys
changed which keys are which modifier), the blue keys are your homerow. are your homerow.
== Using i3 == Using i3
=== Creating terminals and moving around === Opening terminals and moving around
A very basic operation is to create a new terminal. By default, the keybinding A very basic operation is to open a new terminal. By default, the keybinding
for that is Mod1+Enter, that is Alt+Enter in the default configuration. By 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 pressing Mod1+Enter, a new terminal will be opened and it will fill the whole
space which is available on your screen. space which is available on your screen.
image:single_terminal.png[Single terminal] image:single_terminal.png[Single terminal]
@ -64,7 +64,7 @@ image:two_columns.png[Two columns]
=== Changing mode of containers === Changing mode of containers
A container can be in different modes: A container can be in the following modes:
default:: default::
Windows are sized so that every window gets an equal amount of space of the Windows are sized so that every window gets an equal amount of space of the
@ -86,7 +86,7 @@ image:modes.png[Container modes]
To display a window fullscreen or to go out of fullscreen mode again, press To display a window fullscreen or to go out of fullscreen mode again, press
+Mod1+f+. +Mod1+f+.
There is also a global fullscreen mode in i3 in which the client will use all There also is a global fullscreen mode in i3 in which the client will use all
available outputs. To use it, or to get out of it again, press +Mod1+Shift+f+. available outputs. To use it, or to get out of it again, press +Mod1+Shift+f+.
=== Opening other applications === Opening other applications
@ -97,7 +97,8 @@ Aside from opening applicatios from a terminal, you can also use the handy
your +$PATH+ for that to work. your +$PATH+ for that to work.
Furthermore, if you have applications you open very frequently, you can also Furthermore, if you have applications you open very frequently, you can also
create a keybinding for it. See the section "Configuring i3" for details. create a keybinding for starting the application directly. See the section
"Configuring i3" for details.
=== Closing windows === Closing windows
@ -143,11 +144,11 @@ columns/rows with your keyboard.
=== Restarting i3 inplace === Restarting i3 inplace
To restart i3 inplace (and thus get it into a clean state if it has a bug, to To restart i3 inplace (and thus get it into a clean state if it has a bug or
reload your configuration or even to upgrade to a newer version of i3) you to upgrade to a newer version of i3) you can use +Mod1+Shift+r+. Be aware,
can use +Mod1+Shift+r+. Be aware, though, that this kills your current layout though, that this kills your current layout and all the windows you have opened
and all the windows you have opened will be put in a default container in only will be put in a default container in only one cell. Saving the layout will be
one cell. Saving the layout will be implemented in a later version. implemented in a later version.
=== Exiting i3 === Exiting i3
@ -167,12 +168,12 @@ by pressing +Mod1+Control+k+ (or snap container 2 rightwards).
=== Floating === Floating
Floating is the opposite of tiling mode. The position and size of a window Floating mode 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 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 paradigm but can be useful for some corner cases like "Save as" dialog
windows or toolbar windows (GIMP or similar). windows or toolbar windows (GIMP or similar).
You can enable floating for a window by pressing +Mod1+Shift+Space+. By You can enable floating mode for a window by pressing +Mod1+Shift+Space+. By
dragging the windows titlebar with your mouse, you can move the window dragging the windows titlebar with your mouse, you can move the window
around. By grabbing the borders and moving them you can resize the window. around. By grabbing the borders and moving them you can resize the window.
@ -213,6 +214,8 @@ a # and can only be used at the beginning of a line, like this:
i3 uses X core fonts (not Xft) for rendering window titles and the internal i3 uses X core fonts (not Xft) for rendering window titles and the internal
workspace bar. You can use +xfontsel(1)+ to generate such a font description. workspace bar. You can use +xfontsel(1)+ to generate such a font description.
To see special characters (Unicode), you need to use a font which supports
the ISO-10646 encoding.
*Syntax*: *Syntax*:
------------------------------ ------------------------------
@ -237,7 +240,7 @@ also mix your bindings, though i3 will not protect you from overlapping ones).
* Keycodes however do not need to have a symbol assigned (handy for some hotkeys * Keycodes however do not need to have a symbol assigned (handy for some hotkeys
on some notebooks) and they will not change their meaning as you switch to a on some notebooks) and they will not change their meaning as you switch to a
different keyboard layout. different keyboard layout (when using +xmodmap+).
My recommendation is: If you often switch keyboard layouts because you try to My recommendation is: If you often switch keyboard layouts because you try to
learn a different one, but you want to keep your bindings at the same place, learn a different one, but you want to keep your bindings at the same place,
@ -253,10 +256,10 @@ bind [Modifiers+]keycode command
*Examples*: *Examples*:
-------------------------------- --------------------------------
# Fullscreen # Fullscreen
bind Mod1+f f bindsym Mod1+f f
# Restart # Restart
bind Mod1+Shift+r restart bindsym Mod1+Shift+r restart
# Notebook-specific hotkeys # Notebook-specific hotkeys
bind 214 exec /home/michael/toggle_beamer.sh bind 214 exec /home/michael/toggle_beamer.sh
@ -299,8 +302,7 @@ floating_modifier Mod1
=== Layout mode for new containers === Layout mode for new containers
This option is only available when using the new lexer/parser (pass +-l+ to i3 This option determines in which mode new containers will start. See also
when starting). It determines in which mode new containers will start. See also
<<stack-limit>>. <<stack-limit>>.
*Syntax*: *Syntax*:
@ -316,8 +318,7 @@ new_container tabbed
=== Border style for new windows === Border style for new windows
This option is only available when using the new lexer/parser (pass +-l+ to i3 This option determines which border style new windows will have.
when starting). It determines which border new windows will have.
*Syntax*: *Syntax*:
--------------------------------------------- ---------------------------------------------
@ -349,8 +350,9 @@ bindsym $m+Shift+r restart
Variables are directly replaced in the file when parsing, there is no fancy Variables are directly replaced in the file when parsing, there is no fancy
handling and there are absolutely no plans to change this. If you need a more handling and there are absolutely no plans to change this. If you need a more
dynamic configuration, you should create a little script, like when configuring dynamic configuration, you should create a little script which generates a
wmii. configuration file and run it before starting i3 (for example in your
+.xsession+ file).
=== Automatically putting clients on specific workspaces === Automatically putting clients on specific workspaces
@ -383,10 +385,13 @@ assign "gecko" → ~4
assign "xv/MPlayer" → ~ assign "xv/MPlayer" → ~
---------------------- ----------------------
Note that the arrow is not required, it just looks good :-). If you decide to
use it, it has to be a UTF-8 encoded arrow, not "->" or something like that.
=== Automatically starting applications on startup === Automatically starting applications on startup
By using the +exec+ keyword outside a keybinding, you can configure which 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 commands will be performed by i3 on the first start (not when restarting inplace
however). The commands will be run in order. however). The commands will be run in order.
*Syntax*: *Syntax*:
@ -403,11 +408,11 @@ exec sudo i3status | dzen2 -dock
[[workspace_screen]] [[workspace_screen]]
If you use the assigning of clients to workspaces and start some clients If you use assignments of clients to workspaces, it might be handy to put the
automatically, it might be handy to put the workspaces on specific screens. workspaces on specific screens. Also, the assignment of workspaces to screens
Also, the assignment of workspaces to screens will determine the workspace will determine the workspace which i3 uses for a new screen when adding screens
which i3 uses for a new screen when adding screens or when starting (e.g., by or when starting (e.g., by default it will use 1 for the first screen, 2 for
default it will use 1 for the first screen, 2 for the second screen and so on). the second screen and so on).
*Syntax*: *Syntax*:
---------------------------------- ----------------------------------
@ -472,7 +477,7 @@ bar.unfocused::
bar.urgent:: bar.urgent::
A workspace which has at least one client with an activated urgency hint. A workspace which has at least one client with an activated urgency hint.
Colors are in HTML hex format, see below. Colors are in HTML hex format (#rrggbb), see the following example:
*Examples*: *Examples*:
-------------------------------------- --------------------------------------
@ -486,16 +491,19 @@ the window.
=== Interprocess communication === Interprocess communication
i3 uses unix sockets to provide an IPC interface. At the moment, this interface i3 uses unix sockets to provide an IPC interface. This allows third-party
is only useful for sending commands. To enable it, you have to configure a path programs to get information like the current workspaces to display a workspace
where the unix socket will be stored. The default path is +/tmp/i3-ipc.sock+. bar and to control i3.
To enable it, you have to configure a path where the unix socket will be
stored. The default path is +/tmp/i3-ipc.sock+.
*Examples*: *Examples*:
---------------------------- ----------------------------
ipc-socket /tmp/i3-ipc.sock ipc-socket /tmp/i3-ipc.sock
---------------------------- ----------------------------
You can then use the i3-msg command to perform any command listed in the next You can then use the +i3-msg+ command to perform any command listed in the next
section. section.
=== Disable focus follows mouse === Disable focus follows mouse
@ -522,7 +530,7 @@ focus_follows_mouse no
To change the layout of the current container to stacking, use +s+, for default To change the layout of the current container to stacking, use +s+, for default
use +d+ and for tabbed, use +T+. To make the current client (!) fullscreen, use +d+ and for tabbed, use +T+. To make the current client (!) fullscreen,
use +f+, to make it spanning all outputs, use +fg+, to make it floating (or use +f+, to make it span all outputs, use +fg+, to make it floating (or
tiling again) use +t+: tiling again) use +t+:
*Examples*: *Examples*:
@ -544,7 +552,7 @@ bindsym Mod1+t t
=== Focussing/Moving/Snapping clients/containers/screens === Focussing/Moving/Snapping clients/containers/screens
To change the focus, use one of the +h+, +j+, +k+ and +l+ commands, meaning To change the focus, use one of the +h+, +j+, +k+ and +l+ commands, meaning
respectively left, down, up, right. To focus a container, prefix it with +wc+, left, down, up, right (respectively). To focus a container, prefix it with +wc+,
to focus a screen, prefix it with +ws+. to focus a screen, prefix it with +ws+.
The same principle applies for moving and snapping, just prefix the command The same principle applies for moving and snapping, just prefix the command
@ -604,8 +612,7 @@ bindsym Mod1+p pw
=== Resizing columns/rows === Resizing columns/rows
If you want to resize columns/rows using your keyboard, you can use the If you want to resize columns/rows using your keyboard, you can use the
+resize+ command, I recommend using it inside a so called +mode+ (you need to +resize+ command, I recommend using it inside a so called +mode+:
use the new lexer/parser for that, so pass +-l+ to i3 when starting):
.Example: Configuration file, defining a mode for resizing .Example: Configuration file, defining a mode for resizing
---------------------------------------------------------------------- ----------------------------------------------------------------------
@ -698,7 +705,7 @@ the focus stack and jumps to the window you focused before.
*Syntax*: *Syntax*:
-------------- --------------
focus [number] | floating | tilling | ft focus [number] | floating | tiling | ft
-------------- --------------
Where +number+ by default is 1 meaning that the next client in the focus stack will Where +number+ by default is 1 meaning that the next client in the focus stack will
@ -779,8 +786,8 @@ bindsym Mod1+Shift+e exit
[[multi_monitor]] [[multi_monitor]]
As you can read in the goal list on its website, i3 was specifically developed As you can read in the goal list on its website, i3 was specifically developed
with Xinerama (support for multiple monitors) in mind. This section will with support for multiple monitors in mind. This section will explain how to
explain how to handle multiple monitors. handle multiple monitors.
When you have only one monitor, things are simple. You usually start with When you have only one monitor, things are simple. You usually start with
workspace 1 on your monitor and open new ones as you need them. workspace 1 on your monitor and open new ones as you need them.
@ -804,7 +811,7 @@ changing your configuration (using modes, for example).
=== Configuring your monitors === Configuring your monitors
To help you get going if you never did multiple monitors before, here comes a To help you get going if you never used multiple monitors before, here comes a
short overview of the xrandr options which are probably of interest for you. short overview of the xrandr options which are probably of interest for you.
It is always useful to get an overview of the current screen configuration, so It is always useful to get an overview of the current screen configuration, so
just run "xrandr" and you will get an output like the following: just run "xrandr" and you will get an output like the following:
@ -836,7 +843,7 @@ So, say you connected VGA1 and want to use it as an additional screen:
------------------------------------------- -------------------------------------------
xrandr --output VGA1 --auto --left-of LVDS1 xrandr --output VGA1 --auto --left-of LVDS1
------------------------------------------- -------------------------------------------
This command lets xrandr try to find out the native resolution of the device This command makes xrandr try to find out the native resolution of the device
connected to +VGA1+ and configures it to the left of your internal flat panel. connected to +VGA1+ and configures it to the left of your internal flat panel.
When running "xrandr" again, the output looks like this: When running "xrandr" again, the output looks like this:
----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------
@ -892,7 +899,7 @@ approach you have in the task bar of a traditional desktop environment.
If you dont already have your favorite way of generating such a status line If you dont already have your favorite way of generating such a status line
(self-written scripts, conky, …), then i3status is the recommended tool for (self-written scripts, conky, …), then i3status is the recommended tool for
this task. It was written in C with the goal to have as little syscalls as this task. It was written in C with the goal to use as little syscalls as
possible to reduce the time your CPU is waken up from sleep states. possible to reduce the time your CPU is waken up from sleep states.
Regardless of which application you use to generate the status line, you Regardless of which application you use to generate the status line, you
@ -943,5 +950,4 @@ and you are in multi-monitor mode (see <<multi_monitor>>).
Because i3 is not a compositing window manager, there is no possibility to Because i3 is not a compositing window manager, there is no possibility to
display a window on two screens at the same time. Instead, you presentation display a window on two screens at the same time. Instead, you presentation
software needs to do this job (that is, open a window on each screen with the software needs to do this job (that is, open a window on each screen).
same contents).