Update userguide
This commit is contained in:
parent
76e6145741
commit
25aae13331
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
Binary file not shown.
After Width: | Height: | Size: 4.9 KiB |
158
docs/userguide
158
docs/userguide
|
@ -46,13 +46,22 @@ image:two_columns.png[Two columns]
|
||||||
|
|
||||||
=== Changing mode of containers
|
=== Changing mode of containers
|
||||||
|
|
||||||
A container can be in two modes at the moment (more to be implemented later):
|
A container can be in different modes:
|
||||||
+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.
|
default::
|
||||||
|
Windows are sized so that every window gets an equal amount of space of the
|
||||||
|
container.
|
||||||
|
stacking::
|
||||||
|
Only the focused client of the container is displayed and you get a list of
|
||||||
|
windows at the top of the container.
|
||||||
|
tabbed::
|
||||||
|
The same principle as +stacking+, but the list of windows at the top is only
|
||||||
|
a single line which will be vertically split.
|
||||||
|
|
||||||
|
To switch the mode, press +Mod1+e+ for default, +Mod1+h+ for stacking and
|
||||||
|
+Mod1+w+ for tabbed.
|
||||||
|
|
||||||
|
image:modes.png[Container modes]
|
||||||
|
|
||||||
=== Toggling fullscreen mode for a window
|
=== Toggling fullscreen mode for a window
|
||||||
|
|
||||||
|
@ -102,12 +111,14 @@ To move a window to another workspace, simply press +Mod1+Shift+num+ where
|
||||||
Similarly to switching workspaces, the target workspace will be created if
|
Similarly to switching workspaces, the target workspace will be created if
|
||||||
it does not yet exist.
|
it does not yet exist.
|
||||||
|
|
||||||
=== Resizing columns
|
=== Resizing columns/rows
|
||||||
|
|
||||||
To resize columns just grab the border between the two columns and move it to
|
To resize columns or rows just grab the border between the two columns/rows
|
||||||
the wanted size.
|
and move it to the wanted size. Please keep in mind that each cell of the table
|
||||||
|
holds a +container+ and thus you cannot horizontally resize single windows.
|
||||||
|
|
||||||
A command for doing this via keyboard will be implemented soon.
|
See <<resizingconfig>> for how to configure i3 to be able to resize
|
||||||
|
columns/rows with your keyboard.
|
||||||
|
|
||||||
=== Restarting i3 inplace
|
=== Restarting i3 inplace
|
||||||
|
|
||||||
|
@ -246,6 +257,22 @@ floating_modifier <Modifiers>
|
||||||
floating_modifier Mod1
|
floating_modifier Mod1
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
|
=== Layout mode for new containers
|
||||||
|
|
||||||
|
This option is only available when using the new lexer/parser (pass +-l+ to i3
|
||||||
|
when starting). It determines in which mode new containers will start. See also
|
||||||
|
<<stack-limit>>.
|
||||||
|
|
||||||
|
*Syntax*:
|
||||||
|
---------------------------------------------
|
||||||
|
new_container <default|stacking|tabbed>
|
||||||
|
new_container stack-limit <cols|rows> <value>
|
||||||
|
---------------------------------------------
|
||||||
|
|
||||||
|
*Examples*:
|
||||||
|
---------------------
|
||||||
|
new_container tabbed
|
||||||
|
---------------------
|
||||||
|
|
||||||
=== Variables
|
=== Variables
|
||||||
|
|
||||||
|
@ -420,20 +447,21 @@ section.
|
||||||
|
|
||||||
=== Manipulating layout
|
=== Manipulating layout
|
||||||
|
|
||||||
To change the layout of the current container to stacking or back to default
|
To change the layout of the current container to stacking, use +s+, for default
|
||||||
layout, use +s+ or +d+. To make the current client (!) fullscreen, use +f+, to
|
use +d+ and for tabbed, use +T+. To make the current client (!) fullscreen,
|
||||||
make it floating (or tiling again) use +t+:
|
use +f+, to make it floating (or tiling again) use +t+:
|
||||||
|
|
||||||
*Examples*:
|
*Examples*:
|
||||||
--------------
|
--------------
|
||||||
bind Mod1+s s
|
bindsym Mod1+s s
|
||||||
bind Mod1+l d
|
bindsym Mod1+l d
|
||||||
|
bindsym Mod1+w T
|
||||||
|
|
||||||
# Toggle fullscreen
|
# Toggle fullscreen
|
||||||
bind Mod1+f f
|
bindsym Mod1+f f
|
||||||
|
|
||||||
# Toggle floating/tiling
|
# Toggle floating/tiling
|
||||||
bind Mod1+t t
|
bindsym Mod1+t t
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
=== Focussing/Moving/Snapping clients/containers/screens
|
=== Focussing/Moving/Snapping clients/containers/screens
|
||||||
|
@ -494,6 +522,39 @@ bindsym Mod1+o nw
|
||||||
bindsym Mod1+p pw
|
bindsym Mod1+p pw
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
|
[[resizingconfig]]
|
||||||
|
|
||||||
|
=== Resizing columns/rows
|
||||||
|
|
||||||
|
If you want to resize columns/rows using your keyboard, you can use the
|
||||||
|
+resize+ command, I recommend using it a +mode+ (you need to use the new
|
||||||
|
lexer/parser for that, so pass +-l+ to i3 when starting):
|
||||||
|
|
||||||
|
.Example: Configuration file, defining a mode for resizing
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# They resize the border in the direction you pressed, e.g.
|
||||||
|
# when pressing left, the window is resized so that it has
|
||||||
|
# more space on its left
|
||||||
|
|
||||||
|
bindsym n resize left -10
|
||||||
|
bindsym Shift+n resize left +10
|
||||||
|
|
||||||
|
bindsym r resize bottom +10
|
||||||
|
bindsym Shift+r resize bottom -10
|
||||||
|
|
||||||
|
bindsym t resize top -10
|
||||||
|
bindsym Shift+t resize top +10
|
||||||
|
|
||||||
|
bindsym d resize right +10
|
||||||
|
bindsym Shift+d resize right -10
|
||||||
|
|
||||||
|
bind 36 mode default
|
||||||
|
}
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
=== Jumping to specific windows
|
=== Jumping to specific windows
|
||||||
|
|
||||||
Especially when in a multi-monitor environment, you want to quickly jump to a specific
|
Especially when in a multi-monitor environment, you want to quickly jump to a specific
|
||||||
|
@ -517,6 +578,37 @@ or you can specify the position of the client if you always use the same layout.
|
||||||
bindsym Mod1+a jump "urxvt/VIM"
|
bindsym Mod1+a jump "urxvt/VIM"
|
||||||
--------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
|
=== VIM-like marks (mark/goto)
|
||||||
|
|
||||||
|
This feature is like the jump feature: It allows you to directly jump to a
|
||||||
|
specific window (this means switching to the appropriate workspace and setting
|
||||||
|
focus to the windows). However, you can directly mark a specific window with
|
||||||
|
an arbitrary label and use it afterwards, that is, you do not need to ensure
|
||||||
|
that your windows have unique classes or titles and you do not need to change
|
||||||
|
your configuration file.
|
||||||
|
|
||||||
|
As the command needs to include the label with which you want to mark the
|
||||||
|
window, you cannot simply bind it to a key (or, you could bind it to a key and
|
||||||
|
only use the set of labels for which you created bindings). +i3-input+ is a
|
||||||
|
tool created for this purpose: It lets you input a command and sends the
|
||||||
|
command to i3. It can also prefix this command and display a custom prompt for
|
||||||
|
the input dialog.
|
||||||
|
|
||||||
|
*Syntax*:
|
||||||
|
-----------------
|
||||||
|
mark <identifier>
|
||||||
|
goto <identifier>
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
*Examples*:
|
||||||
|
---------------------------------------
|
||||||
|
# Read 1 character and mark the current window with this character
|
||||||
|
bindsym Mod1+m exec i3-input -p 'mark ' -l 1 -P 'Mark: '
|
||||||
|
|
||||||
|
# Read 1 character and go to the window with the character
|
||||||
|
bindsym Mod1+g exec i3-input -p 'goto ' -l 1 -P 'Goto: '
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
=== Traveling the focus stack
|
=== Traveling the focus stack
|
||||||
|
|
||||||
This mechanism can be thought of as the opposite of the +jump+ command. It travels
|
This mechanism can be thought of as the opposite of the +jump+ command. It travels
|
||||||
|
@ -544,7 +636,8 @@ ft::
|
||||||
|
|
||||||
To change the border of the current client, you can use +bn+ to use the normal
|
To change the border of the current client, you can use +bn+ to use the normal
|
||||||
border (including window title), +bp+ to use a 1-pixel border (no window title)
|
border (including window title), +bp+ to use a 1-pixel border (no window title)
|
||||||
and +bb+ to make the client borderless.
|
and +bb+ to make the client borderless. There also is +bt+ which will toggle
|
||||||
|
the different border styles.
|
||||||
|
|
||||||
*Examples*:
|
*Examples*:
|
||||||
------------------
|
------------------
|
||||||
|
@ -553,6 +646,35 @@ bindsym Mod1+y bp
|
||||||
bindsym Mod1+u bb
|
bindsym Mod1+u bb
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
[[stack-limit]]
|
||||||
|
|
||||||
|
=== Changing the stack-limit of a container
|
||||||
|
|
||||||
|
If you have a single container with a lot of windows inside (say, more than
|
||||||
|
10), the default layout of a stacking container can get a little unhandy.
|
||||||
|
Depending on your screen’s size, you might end up only using half of the
|
||||||
|
titlebars of each window in the container.
|
||||||
|
|
||||||
|
Using the +stack-limit+ command, you can limit the amount of rows or columns
|
||||||
|
in a stacking container. i3 will create columns or rows (depending on what
|
||||||
|
you limited) automatically as needed.
|
||||||
|
|
||||||
|
*Syntax*:
|
||||||
|
--------------------------------
|
||||||
|
stack-limit <cols|rows> <value>
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
*Examples*:
|
||||||
|
-------------------
|
||||||
|
# I always want to have two window titles in one line
|
||||||
|
stack-limit cols 2
|
||||||
|
|
||||||
|
# Not more than 5 rows in this stacking container
|
||||||
|
stack-limit rows 5
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
image:stacklimit.png[Container limited to two columns]
|
||||||
|
|
||||||
=== Reloading/Restarting/Exiting
|
=== Reloading/Restarting/Exiting
|
||||||
|
|
||||||
You can make i3 reload its configuration file with +reload+. You can also
|
You can make i3 reload its configuration file with +reload+. You can also
|
||||||
|
|
Loading…
Reference in New Issue