]> git.lizzy.rs Git - bspwm.git/blobdiff - doc/bspwm.1
New setting: center_pseudo_tiled
[bspwm.git] / doc / bspwm.1
index 47430bb83921a50c9c233a666a05ca16968bbb53..60955c2a79ab0300b214cd60bd3736c13dfe663b 100644 (file)
@@ -2,12 +2,12 @@
 .\"     Title: bspwm
 .\"    Author: [see the "Author" section]
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 11/10/2013
+.\"      Date: 01/15/2015
 .\"    Manual: Bspwm Manual
-.\"    Source: Bspwm 0.8.6
+.\"    Source: Bspwm 0.8.9
 .\"  Language: English
 .\"
-.TH "BSPWM" "1" "11/10/2013" "Bspwm 0\&.8\&.6" "Bspwm Manual"
+.TH "BSPWM" "1" "01/15/2015" "Bspwm 0\&.8\&.9" "Bspwm Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -68,7 +68,7 @@ Example configuration files can be found in the \fBexamples\fR directory\&.
 .sp
 New windows are inserted in the tree as close as possible to the focused window\&.
 .sp
-There is only two splitting modes: \fIautomatic\fR and \fImanual\fR\&.
+There are only two splitting modes: \fIautomatic\fR and \fImanual\fR\&.
 .sp
 The default mode is \fIautomatic\fR\&. The \fImanual\fR mode is entered by sending a \fBpreselection\fR message\&.
 .sp
@@ -99,7 +99,7 @@ Example: insertion of a new node (number 4) into the given tree in \fIautomatic\
 .RE
 .\}
 .sp
-Same departure, but the mode is \fImanual\fR, and a \fBwindow \-\-presel up\fR message was sent beforehand:
+Same action, but the mode is \fImanual\fR, and a \fBwindow \-\-presel up\fR message was sent beforehand:
 .sp
 .if n \{\
 .RS 4
@@ -157,7 +157,7 @@ PRIMARY_SELECTOR[\&.MODIFIER]*
 .RE
 .\}
 .sp
-For obvious reasons, neither desktops nor monitors names may be valid descriptive selectors\&.
+For obvious reasons, neither desktop nor monitor names may be valid descriptive selectors\&.
 .SS "Window"
 .sp
 Select a window\&.
@@ -167,7 +167,7 @@ Select a window\&.
 .\}
 .nf
 WINDOW_SEL := <window_id>
-            | (DIR|CYCLE_DIR|biggest|last|focused|older|newer)[\&.floating|\&.tiled][\&.like|\&.unlike][\&.manual][\&.urgent][\&.local]
+            | (DIR|CYCLE_DIR|biggest|last|focused|older|newer)[\&.floating|\&.tiled][\&.like|\&.unlike][\&.manual|\&.automatic][\&.urgent][\&.local][\&.unfocused]
 .fi
 .if n \{\
 .RE
@@ -247,8 +247,12 @@ Only consider windows that have a different class than the current window\&.
 .PP
 manual
 .RS 4
-Only consider windows in manual splitting mode (see
-\fB\-\-presel\fR)\&.
+Only consider windows in manual splitting mode\&.
+.RE
+.PP
+automatic
+.RS 4
+Only consider windows in automatic splitting mode\&.
 .RE
 .PP
 local
@@ -260,6 +264,11 @@ urgent
 .RS 4
 Only consider urgent windows\&.
 .RE
+.PP
+unfocused
+.RS 4
+Only consider windows other than the focused window\&.
+.RE
 .RE
 .SS "Desktop"
 .sp
@@ -270,8 +279,8 @@ Select a desktop\&.
 .\}
 .nf
 DESKTOP_SEL := <desktop_name>
-             | ^<n>
-             | (CYCLE_DIR|last|focused|older|newer)[\&.occupied|\&.free][\&.urgent][\&.local]
+             | [MONITOR_SEL:]^<n>
+             | (CYCLE_DIR|last|[MONITOR_SEL:]focused|older|newer)[\&.occupied|\&.free][\&.urgent][\&.local]
 .fi
 .if n \{\
 .RE
@@ -437,6 +446,39 @@ free
 Only consider monitors where the focused desktop is free\&.
 .RE
 .RE
+.SH "WINDOW STATES"
+.PP
+floating
+.RS 4
+Is above any tiled window and can be moved/resized freely\&. Although it doesn\(cqt occupy any tiling space, it is still part of the window tree\&.
+.RE
+.PP
+pseudo_tiled
+.RS 4
+Has an unrestricted size while being centered in its tiling space\&.
+.RE
+.PP
+fullscreen
+.RS 4
+Fills its monitor rectangle, is above all the other windows and has no borders\&.
+.RE
+.PP
+locked
+.RS 4
+Ignores the
+\fBclose\fR
+message\&.
+.RE
+.PP
+sticky
+.RS 4
+Stays in the focused desktop of its monitor\&.
+.RE
+.PP
+private
+.RS 4
+Tries to keep the same tiling position/size\&.
+.RE
 .SH "COMMANDS"
 .SS "Window"
 .sp
@@ -496,9 +538,9 @@ Set the splitting ratio of the selected window (0 <
 < 1)\&.
 .RE
 .PP
-\fB\-e\fR, \fB\-\-edge\fR \fIDIR\fR \fIRATIO\fR|pull|push
+\fB\-e\fR, \fB\-\-edge\fR \fIDIR\fR \fIRATIO\fR|\(+-\fIPIXELS\fR
 .RS 4
-Set the splitting ratio (or pull, or push) the edge located in the given direction in relation to the selected window\&.
+Set or change the splitting ratio of the edge located in the given direction in relation to the selected window\&.
 .RE
 .PP
 \fB\-R\fR, \fB\-\-rotate\fR \fIDIR\fR \fI90|270|180\fR
@@ -506,7 +548,7 @@ Set the splitting ratio (or pull, or push) the edge located in the given directi
 Rotate the tree holding the edge located in the given direction in relation to the selected window\&.
 .RE
 .PP
-\fB\-t\fR, \fB\-\-toggle\fR floating|fullscreen|locked|sticky|private[=on|off]
+\fB\-t\fR, \fB\-\-toggle\fR floating|fullscreen|pseudo_tiled|locked|sticky|private[=on|off]
 .RS 4
 Set or toggle the given state for the selected window\&.
 .RE
@@ -587,6 +629,11 @@ Flip the tree of the selected desktop\&.
 Rotate the tree of the selected desktop\&.
 .RE
 .PP
+\fB\-E\fR, \fB\-\-equalize\fR
+.RS 4
+Reset the split ratios of the tree of the selected desktop\&.
+.RE
+.PP
 \fB\-B\fR, \fB\-\-balance\fR
 .RS 4
 Adjust the split ratios of the tree of the selected desktop so that all windows occupy the same area\&.
@@ -638,14 +685,19 @@ Create desktops with the given names in the selected monitor\&.
 Remove desktops with the given names\&.
 .RE
 .PP
-\fB\-n\fR, \fB\-\-rename\fR <new_name>
+\fB\-o\fR, \fB\-\-reorder\-desktops\fR <name>\&...
 .RS 4
-Rename the selected monitor\&.
+Reorder the desktops of the selected monitor to match the given order\&.
 .RE
 .PP
 \fB\-d\fR, \fB\-\-reset\-desktops\fR <name>\&...
 .RS 4
-Rename, add or remove desktops depending on whether the number of given names is equal, superior or inferior to the number of existing desktops\&.
+Rename, add or remove desktops depending on whether the number of given names is equal, superior or inferior to the number of existing desktops\&. Incidentally reset the settings of the existing desktops\&.
+.RE
+.PP
+\fB\-n\fR, \fB\-\-rename\fR <new_name>
+.RS 4
+Rename the selected monitor\&.
 .RE
 .PP
 \fB\-s\fR, \fB\-\-swap\fR \fIMONITOR_SEL\fR
@@ -783,7 +835,12 @@ Enable or disable the recording of window focus history\&.
 .PP
 \fB\-\-subscribe\fR
 .RS 4
-Continuously print status informations on standard output\&.
+Continuously print status information\&.
+.RE
+.PP
+\fB\-\-get\-status\fR
+.RS 4
+Print the current status information\&.
 .RE
 .RE
 .SS "Pointer"
@@ -822,6 +879,42 @@ Pass the pointer root coordinates for the current pointer action\&.
 Terminate the current pointer action\&.
 .RE
 .RE
+.SS "Rule"
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBGeneral Syntax\fR
+.RS 4
+.sp
+rule \fIOPTIONS\fR
+.RE
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBOptions\fR
+.RS 4
+.PP
+\fB\-a\fR, \fB\-\-add\fR <class_name>|<instance_name>|* [\fB\-o\fR|\fB\-\-one\-shot\fR] [monitor=MONITOR_SEL|desktop=DESKTOP_SEL|window=WINDOW_SEL] [(floating|fullscreen|pseudo_tiled|locked|sticky|private|center|follow|manage|focus|border)=(on|off)] [split_dir=DIR]
+.RS 4
+Create a new rule\&.
+.RE
+.PP
+\fB\-r\fR, \fB\-\-remove\fR ^<n>|head|tail|<class_name>|<instance_name>|*\&...
+.RS 4
+Remove the given rules\&.
+.RE
+.PP
+\fB\-l\fR, \fB\-\-list\fR [<class_name>|<instance_name>|*]
+.RS 4
+List the rules\&.
+.RE
+.RE
 .SS "Config"
 .sp
 .it 1 an-trap
@@ -832,7 +925,7 @@ Terminate the current pointer action\&.
 \fBGeneral Syntax\fR
 .RS 4
 .PP
-config [\-m \fIMONITOR_SEL\fR|\-d \fIDESKTOP_SEL\fR] <key> [<value>]
+config [\-m \fIMONITOR_SEL\fR|\-d \fIDESKTOP_SEL\fR|\-w \fIWINDOW_SEL\fR] <key> [<value>]
 .RS 4
 Get or set the value of <key>\&.
 .RE
@@ -852,40 +945,31 @@ quit [<status>]
 Quit with an optional exit status\&.
 .RE
 .RE
-.SH "SETTINGS"
+.SH "EXIT CODES"
 .sp
-Colors are either X color names or \fI#RRGGBB\fR, booleans are \fItrue\fR or \fIfalse\fR\&.
-.sp
-All the boolean settings are \fIfalse\fR by default\&.
-.SS "Global Settings"
+If the server can\(cqt handle a message, \fBbspc\fR will return with one of the following exit codes:
 .PP
-\fIrule_command\fR
-.RS 4
-External command used to retrieve rule consequences\&. The command will receive the the ID of the window being processed as its first argument\&. The output of that command must have the following format:
-\fBkey1=value1 key2=value2 \&...\fR, where
-\fBkeyN\fR
-is one of
-\fIfloating\fR,
-\fIfullscreen\fR,
-\fIlocked\fR,
-\fIsticky\fR,
-\fIprivate\fR,
-\fIframe\fR,
-\fIcenter\fR,
-\fIlower\fR,
-\fIfollow\fR,
-\fImanage\fR,
-\fIfocus\fR,
-\fIdesktop\fR
-or
-\fImonitor\fR\&.
+1
+.RS 4
+Failure\&.
 .RE
 .PP
-\fIstatus_prefix\fR
+2
 .RS 4
-Prefix prepended to each of the status lines\&.
+Syntax error\&.
 .RE
 .PP
+3
+.RS 4
+Unknown command\&.
+.RE
+.SH "SETTINGS"
+.sp
+Colors are either \fI#RRGGBB\fR or X color names, booleans are \fItrue\fR, \fIon\fR, \fIfalse\fR or \fIoff\fR\&.
+.sp
+All the boolean settings are \fIfalse\fR by default unless stated otherwise\&.
+.SS "Global Settings"
+.PP
 \fIfocused_border_color\fR
 .RS 4
 Color of the border of a focused window of a focused monitor\&.
@@ -958,34 +1042,40 @@ Color of the border of an unfocused private window\&.
 Color of the border of an urgent window\&.
 .RE
 .PP
-\fIfocused_frame_opacity\fR
+\fIsplit_ratio\fR
 .RS 4
-Opacity of a focused frame of a focused monitor\&.
+Default split ratio\&.
 .RE
 .PP
-\fIactive_frame_opacity\fR
+\fIstatus_prefix\fR
 .RS 4
-Opacity of a focused frame of an unfocused monitor\&.
+Prefix prepended to each of the status lines\&.
 .RE
 .PP
-\fInormal_frame_opacity\fR
+\fIexternal_rules_command\fR
 .RS 4
-Opacity of an unfocused frame\&.
+External command used to retrieve rule consequences\&. The command will receive the the ID of the window being processed as its first argument and the class and instance names as second and third arguments\&. The output of that command must have the following format:
+\fBkey1=value1 key2=value2 \&...\fR
+(the valid key/value pairs are given in the description of the
+\fIrule\fR
+command)\&.
 .RE
 .PP
-\fIsplit_ratio\fR
+\fIinitial_polarity\fR
 .RS 4
-Default split ratio\&.
+On which child should a new window be attached when adding a window on a single window tree in automatic mode\&. Accept the following values:
+\fBfirst_child\fR,
+\fBsecond_child\fR\&.
 .RE
 .PP
-\fIgrowth_factor\fR
+\fIhistory_aware_focus\fR
 .RS 4
-Intensity of the growth involved in pulling or pushing an edge\&.
+Give priority to the focus history when focusing nodes\&.
 .RE
 .PP
-\fIhistory_aware_focus\fR
+\fIfocus_by_distance\fR
 .RS 4
-Give priority to the focus history when focusing nodes\&.
+Base focusing on distances between windows\&.
 .RE
 .PP
 \fIborderless_monocle\fR
@@ -1003,6 +1093,11 @@ Remove gaps for tiled windows in monocle mode\&.
 Focus the window under the pointer\&.
 .RE
 .PP
+\fIpointer_follows_focus\fR
+.RS 4
+When focusing a window, put the pointer at its center\&.
+.RE
+.PP
 \fIpointer_follows_monitor\fR
 .RS 4
 When focusing a monitor, put the pointer at its center\&.
@@ -1035,35 +1130,52 @@ atom of each window according to its floating state\&.
 .PP
 \fIignore_ewmh_focus\fR
 .RS 4
-Ignore EWMH requests to focus a window\&.
+Ignore EWMH focus requests coming from applications\&.
 .RE
 .PP
-\fIremove_disabled_monitor\fR
+\fIcenter_pseudo_tiled\fR
+.RS 4
+Center pseudo tiled windows into their tiling rectangles\&. Defaults to
+\fItrue\fR\&.
+.RE
+.PP
+\fIremove_disabled_monitors\fR
 .RS 4
 Consider disabled monitors as disconnected\&.
 .RE
-.SS "Monitor Settings"
 .PP
-\fItop_padding\fR, \fIright_padding\fR, \fIbottom_padding\fR, \fIleft_padding\fR
+\fIremove_unplugged_monitors\fR
 .RS 4
-Padding space added at the sides of the monitor\&.
+Remove unplugged monitors\&.
 .RE
-.SS "Desktop Settings"
 .PP
-\fIwindow_gap\fR
+\fImerge_overlapping_monitors\fR
 .RS 4
-Size of the gap that separates windows\&.
+Merge overlapping monitors (the bigger remains)\&.
 .RE
+.SS "Monitor and Desktop Settings"
+.PP
+\fItop_padding\fR, \fIright_padding\fR, \fIbottom_padding\fR, \fIleft_padding\fR
+.RS 4
+Padding space added at the sides of the monitor or desktop\&.
+.RE
+.SS "Default, Desktop Default and Window Settings"
 .PP
 \fIborder_width\fR
 .RS 4
 Window border width\&.
 .RE
+.SS "Default and Desktop Settings"
+.PP
+\fIwindow_gap\fR
+.RS 4
+Size of the gap that separates windows\&.
+.RE
 .SH "STATUS FORMAT"
 .sp
-Status informations are composed of items separated by colons\&.
+Status information is composed of items separated by colons\&.
 .sp
-Each item as the form \fI<type><value>\fR where \fI<type>\fR is the first character of the item\&.
+Each item has the form \fI<type><value>\fR where \fI<type>\fR is the first character of the item\&.
 .PP
 \fIM<monitor_name>\fR
 .RS 4
@@ -1105,9 +1217,9 @@ Urgent focused desktop\&.
 Urgent unfocused desktop\&.
 .RE
 .PP
-\fIL(tiled|monocle)\fR
+\fIL(T|M)\fR
 .RS 4
-Layout of the focused desktop of the focused monitor\&.
+Layout of the focused desktop of a monitor\&.
 .RE
 .SH "ENVIRONMENT VARIABLES"
 .PP
@@ -1117,7 +1229,7 @@ The path of the socket used for the communication between
 \fBbspc\fR
 and
 \fBbspwm\fR\&. If it isn\(cqt defined, then the following path is used:
-\fI/tmp/bspwm\-socket\fR\&.
+\fI/tmp/bspwm<host_name>_<display_number>_<screen_number>\-socket\fR\&.
 .RE
 .SH "PANELS"
 .sp
@@ -1142,9 +1254,7 @@ Any EWMH compliant panel (e\&.g\&.:
 .sp -1
 .IP \(bu 2.3
 .\}
-A custom panel if the
-\fI\-s\fR
-flag is used (have a look at the files in
+A custom panel (have a look at the files in
 \fIexamples/panel\fR)\&.
 .RE
 .SH "KEY FEATURES"
@@ -1168,8 +1278,7 @@ Configured and controlled through messages\&.
 .sp -1
 .IP \(bu 2.3
 .\}
-Multiple monitors support (via
-\fIRandR\fR)\&.
+Multiple monitors support\&.
 .RE
 .sp
 .RS 4
@@ -1180,8 +1289,7 @@ Multiple monitors support (via
 .sp -1
 .IP \(bu 2.3
 .\}
-EWMH support (\fBtint2\fR
-works)\&.
+EWMH support\&.
 .RE
 .sp
 .RS 4