Fix spelling errors/strange sentences in the user’s guide
Proof-reading is very appreciated.
This commit is contained in:
parent
c738b2e454
commit
c58c7b9c63
106
docs/userguide
106
docs/userguide
|
@ -3,7 +3,7 @@ i3 User’s 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
|
||||||
I’ll help you out.
|
I’ll 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 window’s titlebar with your mouse, you can move the window
|
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.
|
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
|
||||||
|
@ -284,7 +287,7 @@ you can press Mod1, click into a window using your left mouse button and drag
|
||||||
it to the position you want it at.
|
it to the position you want it at.
|
||||||
|
|
||||||
When holding the floating modifier, you can resize a floating window by pressing
|
When holding the floating modifier, you can resize a floating window by pressing
|
||||||
the right mousebutton on it and moving around holding it. If you hold the shift
|
the right mouse button on it and moving around holding it. If you hold the shift
|
||||||
button aswell, the resize will be proportional.
|
button aswell, the resize will be proportional.
|
||||||
|
|
||||||
*Syntax*:
|
*Syntax*:
|
||||||
|
@ -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 don’t already have your favorite way of generating such a status line
|
If you don’t 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).
|
|
||||||
|
|
Loading…
Reference in New Issue