3 .\" Author: [see the "Author" section]
4 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
6 .\" Manual: Bspwm Manual
10 .TH "BSPWM" "1" "06/27/2013" "Bspwm 0\&.7" "Bspwm Manual"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
25 .\" disable justification (adjust text to left margin only)
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
31 bspwm \- Tiling window manager based on binary space partitioning
34 \fBbspwm\fR [\fB\-h\fR|\fB\-v\fR|\fB\-s\fR \fIPANEL_FIFO\fR|\fB\-p\fR \fIPANEL_PREFIX\fR]
36 \fBbspc\fR \fIMESSAGE\fR [\fIARGUMENTS\fR] [\fIOPTIONS\fR]
39 \fBbspwm\fR is a tiling window manager that represents windows as the leaves of a full binary tree\&.
41 It is controlled and configured via \fBbspc\fR\&.
44 \fBbspwm\fR have only two sources of informations: the X events it receives and the messages it reads on a dedicated socket\&.
46 Its configuration file is \fI$XDG_CONFIG_HOME/bspwm/autostart\fR\&.
48 Keyboard and pointer bindings are defined with sxhkd\&.
50 Example configuration files can be found in the \fBexamples\fR directory\&.
53 There is only two splitting modes: \fIautomatic\fR and \fImanual\fR\&.
55 The default mode is \fIautomatic\fR\&. The \fImanual\fR mode is entered by sending a \fBpresel\fR message\&.
57 Example: insertion of a new node (number 4) into the given tree in \fIautomatic\fR mode:
70 +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
74 | 3 |\-\-\-\-\-\-\-\-\-\-\-\-| \-\-> | 4 |\-\-\-\-\-\-\-\-\-\-\-\-|
78 +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
84 Same departure, but the mode is \fImanual\fR, and a \fBpresel\fR \fIup\fR message was sent beforehand:
96 +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
100 | 3 |\-\-\-\-\-\-\-\-\-\-\-\-| \-\-> |\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-|
104 +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
111 Each monitor contains at least one desktop\&.
113 Each desktop contains at most one tree\&.
116 \fBget\fR \fISETTING\fR
118 Return the value of the given setting\&.
121 \fBset\fR \fISETTING\fR \fIVALUE\fR
123 Set the value of the given setting\&.
126 \fBlist\fR [\fIDESKTOP_NAME\fR]
128 Output the internal representation of the window tree\&.
131 \fBlist_desktops\fR [\fB\-\-quiet\fR]
133 Perform a dump of each desktop for the current monitor\&.
136 \fBlist_monitors\fR [\fB\-\-quiet\fR]
138 Perform a dump of each monitor\&.
143 Return the node focus history of each desktop\&.
148 Return the list of managed windows (i\&.e\&. their identifiers)\&.
153 Return the list of rules\&.
156 \fBpresel\fR \fIleft\fR|\fIright\fR|\fIup\fR|\fIdown\fR [\fISPLIT_RATIO\fR]
158 Switch to manual mode and select the splitting direction\&.
161 \fBcancel\fR [\fB\-\-all\fR]
163 Switch to automatic mode\&.
166 \fBratio\fR \fIVALUE\fR
168 Set the splitting ratio of the focused window\&.
171 \fBpad\fR \fIMONITOR_NAME\fR [\fITOP_PADDING\fR [\fIRIGHT_PADDING\fR [\fIBOTTOM_PADDING\fR [\fILEFT_PADDING\fR]]]]
173 Set the padding of the given monitor\&.
176 \fBfocus\fR \fIleft\fR|\fIright\fR|\fIup\fR|\fIdown\fR
178 Focus the neighbor window situated in the given direction\&.
181 \fBshift\fR \fIleft\fR|\fIright\fR|\fIup\fR|\fIdown\fR
183 Exchange the current window with the given neighbor\&.
186 \fBswap\fR [\fB\-\-keep\-focus\fR]
188 Swap the focused window with the last focused window\&.
191 \fBpush\fR \fIleft\fR|\fIright\fR|\fIup\fR|\fIdown\fR
193 Push the fence located in the given direction\&.
196 \fBpull\fR \fIleft\fR|\fIright\fR|\fIup\fR|\fIdown\fR
198 Pull the fence located in the given direction\&.
201 \fBfence_ratio\fR \fIleft\fR|\fIright\fR|\fIup\fR|\fIdown\fR
203 Set the splitting ratio of the fence located in the given direction\&.
206 \fBcycle\fR \fInext\fR|\fIprev\fR [\fB\-\-skip\-floating\fR|\fB\-\-skip\-tiled\fR|\fB\-\-skip\-class\-equal\fR|\fB\-\-skip\-class\-differ\fR]
208 Focus the next or previous window matching the given constraints\&.
211 \fBnearest\fR \fIolder\fR|\fInewer\fR [\fB\-\-skip\-floating\fR|\fB\-\-skip\-tiled\fR|\fB\-\-skip\-class\-equal\fR|\fB\-\-skip\-class\-differ\fR]
213 Focus the nearest window matching the given constraints\&.
218 Return the ID of the biggest tiled window\&.
221 \fBcirculate\fR \fIforward\fR|\fIbackward\fR
223 Circulate the leaves in the given direction\&.
226 \fBgrab_pointer\fR \fIfocus\fR|\fImove\fR|\fIresize_side\fR|\fIresize_corner\fR
228 Begin the specified pointer action\&.
231 \fBtrack_pointer\fR \fIROOT_X\fR \fIROOT_Y\fR
233 Pass the pointer root coordinates for the current pointer action\&.
238 End the current pointer action\&.
241 \fBtoggle_fullscreen\fR
243 Toggle the fullscreen state of the current window\&.
246 \fBtoggle_floating\fR
248 Toggle the floating state of the current window\&.
253 Toggle the locked state of the current window (locked windows will not respond to the
258 \fBtoggle_visibility\fR
260 Toggle the visibility of all the managed windows\&.
265 Close the focused window\&.
270 Kill the focused window\&.
273 \fBsend_to\fR \fIDESKTOP_NAME\fR [\fB\-\-follow\fR]
275 Send the focused window to the given desktop\&.
278 \fBdrop_to\fR \fInext\fR|\fIprev\fR [\fB\-\-follow\fR]
280 Send the focused window to the next or previous desktop\&.
283 \fBsend_to_monitor\fR \fIMONITOR_NAME\fR [\fB\-\-follow\fR]
285 Send the focused window to the given monitor\&.
288 \fBdrop_to_monitor\fR \fInext\fR|\fIprev\fR [\fB\-\-follow\fR]
290 Send the focused window to the next or previous monitor\&.
293 \fBuse\fR \fIDESKTOP_NAME\fR
295 Select the given desktop\&.
298 \fBuse_monitor\fR \fIMONITOR_NAME\fR
300 Select the given monitor\&.
305 Alternate between the current and the last focused window\&.
308 \fBalternate_desktop\fR
310 Alternate between the current and the last focused desktop\&.
313 \fBalternate_monitor\fR
315 Alternate between the current and the last focused monitor\&.
318 \fBadd\fR \fIDESKTOP_NAME\fR \&...
320 Make new desktops with the given names\&.
323 \fBadd_in\fR \fIMONITOR_NAME\fR \fIDESKTOP_NAME\fR \&...
325 Make new desktops with the given names in the given monitor\&.
328 \fBrename_monitor\fR \fICURRENT_NAME\fR \fINEW_NAME\fR
330 Rename the monitor named
336 \fBrename\fR \fICURRENT_NAME\fR \fINEW_NAME\fR
338 Rename the desktop named
344 \fBremove_desktop\fR \fIDESKTOP_NAME\fR \&...
346 Remove the given desktops\&.
349 \fBsend_desktop_to\fR \fIMONITOR_NAME\fR [\fB\-\-follow\fR]
351 Send the current desktop to the given monitor\&.
354 \fBcycle_monitor\fR \fInext\fR|\fIprev\fR
356 Select the next or previous monitor\&.
359 \fBcycle_desktop\fR \fInext\fR|\fIprev\fR [\fB\-\-skip\-free\fR|\fB\-\-skip\-occupied\fR]
361 Select the next or previous desktop\&.
364 \fBlayout\fR \fImonocle\fR|\fItiled\fR [\fIDESKTOP_NAME\fR \&...]
366 Set the layout of the given desktops (current if none given)\&.
371 Cycle the layout of the current desktop\&.
374 \fBrotate\fR \fIclockwise\fR|\fIcounter_clockwise\fR|\fIfull_cycle\fR
376 Rotate the window tree\&.
379 \fBflip\fR \fIhorizontal\fR|\fIvertical\fR
381 Flip the window tree\&.
386 Adjust the split ratios so that all windows occupy the same area\&.
389 \fBrule\fR \fIPATTERN\fR [\fIDESKTOP_NAME\fR] [\fIfloating\fR] [\fIfollow\fR]
391 Create a new rule (\fIPATTERN\fR
392 must match the class or instance name)\&.
395 \fBremove_rule\fR \fIUID\fR \&...
397 Remove the rules with the given
403 Output the current state to the panel fifo\&.
408 Manage all the unmanaged windows remaining from a previous session\&.
411 \fBrestore_layout\fR \fIFILE_PATH\fR
413 Restore the layout of each desktop from the content of
417 \fBrestore_history\fR \fIFILE_PATH\fR
419 Restore the history of each desktop from the content of
423 \fBquit\fR [\fIEXIT_STATUS\fR]
429 Colors are either X color names or \fI#RRGGBB\fR, booleans are \fItrue\fR or \fIfalse\fR\&.
431 All the boolean settings are \fIfalse\fR by default\&.
433 \fIfocused_border_color\fR
435 Color of the border of a focused window of a focused monitor\&.
438 \fIactive_border_color\fR
440 Color of the border of a focused window of an unfocused monitor\&.
443 \fInormal_border_color\fR
445 Color of the border of an unfocused window\&.
448 \fIpresel_border_color\fR
455 \fIfocused_locked_border_color\fR
457 Color of the border of a focused locked window of a focused monitor\&.
460 \fIactive_locked_border_color\fR
462 Color of the border of a focused locked window of an unfocused monitor\&.
465 \fInormal_locked_border_color\fR
467 Color of the border of an unfocused locked window\&.
470 \fIurgent_border_color\fR
472 Color of the border of an urgent window\&.
477 Window border width\&.
482 Value of the gap that separates windows\&.
487 Default split ratio\&.
490 \fItop_padding\fR, \fIright_padding\fR, \fIbottom_padding\fR, \fIleft_padding\fR
492 Padding space added at the sides of the current monitor\&.
497 The value that shall be used for the
499 property of the root window\&.
502 \fIborderless_monocle\fR
504 Remove borders for tiled windows in monocle mode\&.
507 \fIgapless_monocle\fR
509 Remove gaps for tiled windows in monocle mode\&.
512 \fIfocus_follows_pointer\fR
514 Focus the window under the pointer\&.
517 \fIpointer_follows_monitor\fR
519 When focusing a monitor, put the pointer at its center\&.
522 \fIadaptative_raise\fR
524 Prevent floating windows from being raised when they might cover other floating windows\&.
527 \fIapply_shadow_property\fR
529 Enable shadows for floating windows via the
530 \fI_COMPTON_SHADOW\fR
536 Interpret two consecutive identical
543 \fIfocus_by_distance\fR
545 Use window or leaf distance for focus movement\&.
548 \fIhistory_aware_focus\fR
550 Give priority to the focus history when focusing nodes\&.
552 .SH "ENVIRONMENT VARIABLES"
556 The path of the socket used for the communication between
571 Any EWMH compliant panel (e\&.g\&.:
573 \fIbmpanel2\fR, etc\&.)\&.
584 A custom panel if the
586 flag is used (have a look at the files in
587 \fIexamples/panel\fR)\&.
599 Configured and controlled through messages\&.
610 Multiple monitors support (via
622 EWMH support (\fBtint2\fR
634 Automatic and manual modes\&.
646 Ivan Kanakarakis <ivan\&.kanak at gmail\&.com>
657 Thomas Adam <thomas at xteddy\&.org>
661 Bastien Dejean <baskerville at lavabit\&.com>
664 bspwm at librelist\&.com