.\" Title: bspwm
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 12/31/2013
+.\" Date: 08/07/2015
.\" Manual: Bspwm Manual
-.\" Source: Bspwm 0.8.7
+.\" Source: Bspwm 0.9
.\" Language: English
.\"
-.TH "BSPWM" "1" "12/31/2013" "Bspwm 0\&.8\&.7" "Bspwm Manual"
+.TH "BSPWM" "1" "08/07/2015" "Bspwm 0\&.9" "Bspwm Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.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
.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
.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\&.
.\}
.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
.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
.RS 4
Only consider urgent windows\&.
.RE
+.PP
+unfocused
+.RS 4
+Only consider windows other than the focused window\&.
+.RE
.RE
.SS "Desktop"
.sp
.\}
.nf
DESKTOP_SEL := <desktop_name>
- | ^<n>
- | (CYCLE_DIR|last|focused[:MONITOR_SEL]|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
.PP
pseudo_tiled
.RS 4
-Has a libre size while being centered in its tiling space\&.
+Has an unrestricted size while being centered in its tiling space\&.
.RE
.PP
fullscreen
Swap the selected desktop with the given desktop\&.
.RE
.PP
+\fB\-b\fR, \fB\-\-bubble\fR \fICYCLE_DIR\fR
+.RS 4
+Bubble the selected desktop in the given direction\&.
+.RE
+.PP
\fB\-r\fR, \fB\-\-remove\fR
.RS 4
Remove 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\&.
.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>
Enable or disable the recording of window focus history\&.
.RE
.PP
-\fB\-\-subscribe\fR
+\fB\-\-subscribe\fR (all|report|monitor|desktop|window|\&...)*
+.RS 4
+Continuously print status information\&.
+.RE
+.PP
+\fB\-\-get\-status\fR
.RS 4
-Continuously print status informations on standard output\&.
+Print the current status information\&.
.RE
.RE
.SS "Pointer"
\fBOptions\fR
.RS 4
.PP
-\fB\-a\fR, \fB\-\-add\fR <class_name>|<instance_name>|* [\fB\-o\fR|\fB\-\-one\-shot\fR] [desktop=DESKTOP_SEL|monitor=MONITOR_SEL] [(floating|fullscreen|pseudo_tiled|locked|sticky|private|center|lower|follow|manage|focus)=(true|false)]
+\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] [split_ratio=RATIO]
.RS 4
Create a new rule\&.
.RE
\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
Quit with an optional exit status\&.
.RE
.RE
+.SH "EXIT CODES"
+.sp
+If the server can\(cqt handle a message, \fBbspc\fR will return with one of the following exit codes:
+.PP
+1
+.RS 4
+Failure\&.
+.RE
+.PP
+2
+.RS 4
+Syntax error\&.
+.RE
+.PP
+3
+.RS 4
+Unknown command\&.
+.RE
.SH "SETTINGS"
.sp
-Colors are either X color names or \fI#RRGGBB\fR, booleans are \fItrue\fR or \fIfalse\fR\&.
+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\&.
+All the boolean settings are \fIfalse\fR by default unless stated otherwise\&.
.SS "Global Settings"
.PP
\fIfocused_border_color\fR
command)\&.
.RE
.PP
+\fIinitial_polarity\fR
+.RS 4
+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
\fIhistory_aware_focus\fR
.RS 4
Give priority to the focus history when focusing nodes\&.
.RE
.PP
+\fIfocus_by_distance\fR
+.RS 4
+Base focusing on distances between windows\&.
+.RE
+.PP
\fIborderless_monocle\fR
.RS 4
-Remove borders for tiled windows in monocle mode\&.
+Remove borders of tiled windows for the
+\fBmonocle\fR
+desktop layout\&.
.RE
.PP
\fIgapless_monocle\fR
.RS 4
-Remove gaps for tiled windows in monocle mode\&.
+Remove gaps of tiled windows for the
+\fBmonocle\fR
+desktop layout\&.
+.RE
+.PP
+\fIleaf_monocle\fR
+.RS 4
+Set the desktop layout to
+\fBmonocle\fR
+if there\(cqs only one tiled window in the tree\&.
.RE
.PP
\fIfocus_follows_pointer\fR
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\&.
.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
+.PP
+\fIremove_unplugged_monitors\fR
+.RS 4
+Remove unplugged monitors\&.
+.RE
+.PP
+\fImerge_overlapping_monitors\fR
+.RS 4
+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 "Desktop Settings"
+.SS "Default, Desktop Default and Window Settings"
.PP
-\fIwindow_gap\fR
+\fIborder_width\fR
.RS 4
-Size of the gap that separates windows\&.
+Window border width\&.
.RE
+.SS "Default and Desktop Settings"
.PP
-\fIborder_width\fR
+\fIwindow_gap\fR
.RS 4
-Window border width\&.
+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 has the form \fI<type><value>\fR where \fI<type>\fR is the first character of the item\&.
.PP
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
\fBbspc\fR
and
\fBbspwm\fR\&. If it isn\(cqt defined, then the following path is used:
-\fI/tmp/bspwm<display_name>\-socket\fR\&.
+\fI/tmp/bspwm<host_name>_<display_number>_<screen_number>\-socket\fR\&.
.RE
.SH "PANELS"
.sp
.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"
.sp -1
.IP \(bu 2.3
.\}
-Multiple monitors support (via
-\fIRandR\fR)\&.
+Multiple monitors support\&.
.RE
.sp
.RS 4
.sp -1
.IP \(bu 2.3
.\}
-EWMH support (\fBtint2\fR
-works)\&.
+EWMH support\&.
.RE
.sp
.RS 4