]> git.lizzy.rs Git - bspwm.git/blob - doc/bspwm.1
Merge branch 'remove-disabled'
[bspwm.git] / doc / bspwm.1
1 '\" t
2 .\"     Title: bspwm
3 .\"    Author: [see the "Author" section]
4 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
5 .\"      Date: 11/10/2013
6 .\"    Manual: Bspwm Manual
7 .\"    Source: Bspwm 0.8.6
8 .\"  Language: English
9 .\"
10 .TH "BSPWM" "1" "11/10/2013" "Bspwm 0\&.8\&.6" "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 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 bspwm \- Binary space partitioning window manager
32 .SH "SYNOPSIS"
33 .sp
34 \fBbspwm\fR [\fB\-h\fR|\fB\-v\fR|\fB\-c\fR \fICONFIG_PATH\fR]
35 .sp
36 \fBbspc\fR \fICOMMAND\fR [\fIARGUMENTS\fR]
37 .SH "DESCRIPTION"
38 .sp
39 \fBbspwm\fR is a tiling window manager that represents windows as the leaves of a full binary tree\&.
40 .sp
41 It is controlled and configured via \fBbspc\fR\&.
42 .SH "OPTIONS"
43 .PP
44 \fB\-h\fR
45 .RS 4
46 Print the synopsis and exit\&.
47 .RE
48 .PP
49 \fB\-v\fR
50 .RS 4
51 Print the version and exit\&.
52 .RE
53 .PP
54 \fB\-c\fR \fICONFIG_PATH\fR
55 .RS 4
56 Use the given configuration file\&.
57 .RE
58 .SH "CONFIGURATION"
59 .sp
60 \fBbspwm\fR has only two sources of informations: the X events it receives and the messages it reads on a dedicated socket\&.
61 .sp
62 The default configuration file is \fI$XDG_CONFIG_HOME/bspwm/bspwmrc\fR\&.
63 .sp
64 Keyboard and pointer bindings are defined with sxhkd\&.
65 .sp
66 Example configuration files can be found in the \fBexamples\fR directory\&.
67 .SH "SPLITTING MODES"
68 .sp
69 New windows are inserted in the tree as close as possible to the focused window\&.
70 .sp
71 There is only two splitting modes: \fIautomatic\fR and \fImanual\fR\&.
72 .sp
73 The default mode is \fIautomatic\fR\&. The \fImanual\fR mode is entered by sending a \fBpreselection\fR message\&.
74 .sp
75 Example: insertion of a new node (number 4) into the given tree in \fIautomatic\fR mode:
76 .sp
77 .if n \{\
78 .RS 4
79 .\}
80 .nf
81               b                                   c
82              / \e                                 / \e
83             3   a              \-\->              4   b
84             ^  / \e                              ^  / \e
85               2   1                               3   a
86                                                      / \e
87                                                     2   1
88  +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+         +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
89  |            |            |         |            |            |
90  |            |     2      |         |            |     3      |
91  |            |            |         |            |            |
92  |     3      |\-\-\-\-\-\-\-\-\-\-\-\-|   \-\->   |     4      |\-\-\-\-\-\-\-\-\-\-\-\-|
93  |     ^      |            |         |     ^      |     |      |
94  |            |     1      |         |            |  1  |  2   |
95  |            |            |         |            |     |      |
96  +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+         +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
97 .fi
98 .if n \{\
99 .RE
100 .\}
101 .sp
102 Same departure, but the mode is \fImanual\fR, and a \fBwindow \-\-presel up\fR message was sent beforehand:
103 .sp
104 .if n \{\
105 .RS 4
106 .\}
107 .nf
108              b                                   b
109             / \e                                 / \e
110            3   a              \-\->              c   a
111            ^  / \e                             / \e / \e
112              2   1                           4  3 2  1
113                                              ^
114 +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+         +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
115 |            |            |         |            |            |
116 |            |     2      |         |     4      |     2      |
117 |            |            |         |     ^      |            |
118 |     3      |\-\-\-\-\-\-\-\-\-\-\-\-|   \-\->   |\-\-\-\-\-\-\-\-\-\-\-\-|\-\-\-\-\-\-\-\-\-\-\-\-|
119 |     ^      |            |         |            |            |
120 |            |     1      |         |     3      |     1      |
121 |            |            |         |            |            |
122 +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+         +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
123 .fi
124 .if n \{\
125 .RE
126 .\}
127 .SH "CONTAINERS"
128 .sp
129 Each monitor contains at least one desktop\&.
130 .sp
131 Each desktop contains at most one tree\&.
132 .SH "COMMON DEFINITIONS"
133 .sp
134 .if n \{\
135 .RS 4
136 .\}
137 .nf
138 DIR         := left | right | up | down
139 CYCLE_DIR   := next | prev
140 .fi
141 .if n \{\
142 .RE
143 .\}
144 .SH "SELECTORS"
145 .sp
146 Selectors are used to select a target window, desktop, or monitor\&. A selector can either describe the target relatively or name it globally\&.
147 .sp
148 Descriptive (relative) selectors consist of a primary selector and any number of non\-conflicting modifiers as follows:
149 .sp
150 .if n \{\
151 .RS 4
152 .\}
153 .nf
154 PRIMARY_SELECTOR[\&.MODIFIER]*
155 .fi
156 .if n \{\
157 .RE
158 .\}
159 .sp
160 For obvious reasons, neither desktops nor monitors names may be valid descriptive selectors\&.
161 .SS "Window"
162 .sp
163 Select a window\&.
164 .sp
165 .if n \{\
166 .RS 4
167 .\}
168 .nf
169 WINDOW_SEL := <window_id>
170             | (DIR|CYCLE_DIR|biggest|last|focused|older|newer)[\&.floating|\&.tiled][\&.like|\&.unlike][\&.manual][\&.urgent][\&.local]
171 .fi
172 .if n \{\
173 .RE
174 .\}
175 .sp
176 .it 1 an-trap
177 .nr an-no-space-flag 1
178 .nr an-break-flag 1
179 .br
180 .ps +1
181 \fBPrimary Selectors\fR
182 .RS 4
183 .PP
184 \fIDIR\fR
185 .RS 4
186 Selects the window in the given (spacial) direction relative to the active window\&.
187 .RE
188 .PP
189 \fICYCLE_DIR\fR
190 .RS 4
191 Selects the window in the given (cyclic) direction\&.
192 .RE
193 .PP
194 biggest
195 .RS 4
196 Selects the biggest window on the current desktop\&.
197 .RE
198 .PP
199 last
200 .RS 4
201 Selects the previously focused window\&.
202 .RE
203 .PP
204 focused
205 .RS 4
206 Selects the currently focused window\&.
207 .RE
208 .PP
209 older
210 .RS 4
211 Selects the window older than the focused window in the history\&.
212 .RE
213 .PP
214 newer
215 .RS 4
216 Selects the window newer than the focused window in the history\&.
217 .RE
218 .RE
219 .sp
220 .it 1 an-trap
221 .nr an-no-space-flag 1
222 .nr an-break-flag 1
223 .br
224 .ps +1
225 \fBModifiers\fR
226 .RS 4
227 .PP
228 floating
229 .RS 4
230 Only consider floating windows\&.
231 .RE
232 .PP
233 tiled
234 .RS 4
235 Only consider tiled windows\&.
236 .RE
237 .PP
238 like
239 .RS 4
240 Only consider windows that have the same class as the current window\&.
241 .RE
242 .PP
243 unlike
244 .RS 4
245 Only consider windows that have a different class than the current window\&.
246 .RE
247 .PP
248 manual
249 .RS 4
250 Only consider windows in manual splitting mode (see
251 \fB\-\-presel\fR)\&.
252 .RE
253 .PP
254 local
255 .RS 4
256 Only consider windows of the current desktop\&.
257 .RE
258 .PP
259 urgent
260 .RS 4
261 Only consider urgent windows\&.
262 .RE
263 .RE
264 .SS "Desktop"
265 .sp
266 Select a desktop\&.
267 .sp
268 .if n \{\
269 .RS 4
270 .\}
271 .nf
272 DESKTOP_SEL := <desktop_name>
273              | ^<n>
274              | (CYCLE_DIR|last|focused|older|newer)[\&.occupied|\&.free][\&.urgent][\&.local]
275 .fi
276 .if n \{\
277 .RE
278 .\}
279 .sp
280 .it 1 an-trap
281 .nr an-no-space-flag 1
282 .nr an-break-flag 1
283 .br
284 .ps +1
285 \fBPrimary Selectors\fR
286 .RS 4
287 .PP
288 <desktop_name>
289 .RS 4
290 Selects the desktop with the given name\&.
291 .RE
292 .PP
293 ^<n>
294 .RS 4
295 Selects the nth desktop\&.
296 .RE
297 .PP
298 \fICYCLE_DIR\fR
299 .RS 4
300 Selects the desktop in the given direction relative to the active desktop\&.
301 .RE
302 .PP
303 last
304 .RS 4
305 Selects the previously focused desktop\&.
306 .RE
307 .PP
308 focused
309 .RS 4
310 Selects the currently focused desktop\&.
311 .RE
312 .PP
313 older
314 .RS 4
315 Selects the desktop older than the focused desktop in the history\&.
316 .RE
317 .PP
318 newer
319 .RS 4
320 Selects the desktop newer than the focused desktop in the history\&.
321 .RE
322 .RE
323 .sp
324 .it 1 an-trap
325 .nr an-no-space-flag 1
326 .nr an-break-flag 1
327 .br
328 .ps +1
329 \fBModifiers\fR
330 .RS 4
331 .PP
332 occupied
333 .RS 4
334 Only consider occupied desktops\&.
335 .RE
336 .PP
337 free
338 .RS 4
339 Only consider free desktops\&.
340 .RE
341 .PP
342 urgent
343 .RS 4
344 Only consider urgent desktops\&.
345 .RE
346 .PP
347 local
348 .RS 4
349 Only consider desktops of the current monitor\&.
350 .RE
351 .RE
352 .SS "Monitor"
353 .sp
354 Select a monitor\&.
355 .sp
356 .if n \{\
357 .RS 4
358 .\}
359 .nf
360 MONITOR_SEL := <monitor_name>
361              | ^<n>
362              | (DIR|CYCLE_DIR|last|primary|focused|older|newer)[\&.occupied|\&.free]
363 .fi
364 .if n \{\
365 .RE
366 .\}
367 .sp
368 .it 1 an-trap
369 .nr an-no-space-flag 1
370 .nr an-break-flag 1
371 .br
372 .ps +1
373 \fBPrimary Selectors\fR
374 .RS 4
375 .PP
376 <monitor_name>
377 .RS 4
378 Selects the monitor with the given name\&.
379 .RE
380 .PP
381 ^<n>
382 .RS 4
383 Selects the nth monitor\&.
384 .RE
385 .PP
386 \fIDIR\fR
387 .RS 4
388 Selects the monitor in the given (spacial) direction relative to the active monitor\&.
389 .RE
390 .PP
391 \fICYCLE_DIR\fR
392 .RS 4
393 Selects the monitor in the given (cyclic) direction relative to the active monitor\&.
394 .RE
395 .PP
396 primary
397 .RS 4
398 Selects the primary monitor\&.
399 .RE
400 .PP
401 last
402 .RS 4
403 Selects the previously focused monitor\&.
404 .RE
405 .PP
406 focused
407 .RS 4
408 Selects the currently focused monitor\&.
409 .RE
410 .PP
411 older
412 .RS 4
413 Selects the monitor older than the focused monitor in the history\&.
414 .RE
415 .PP
416 newer
417 .RS 4
418 Selects the monitor newer than the focused monitor in the history\&.
419 .RE
420 .RE
421 .sp
422 .it 1 an-trap
423 .nr an-no-space-flag 1
424 .nr an-break-flag 1
425 .br
426 .ps +1
427 \fBModifiers\fR
428 .RS 4
429 .PP
430 occupied
431 .RS 4
432 Only consider monitors where the focused desktop is occupied\&.
433 .RE
434 .PP
435 free
436 .RS 4
437 Only consider monitors where the focused desktop is free\&.
438 .RE
439 .RE
440 .SH "COMMANDS"
441 .SS "Window"
442 .sp
443 .it 1 an-trap
444 .nr an-no-space-flag 1
445 .nr an-break-flag 1
446 .br
447 .ps +1
448 \fBGeneral Syntax\fR
449 .RS 4
450 .sp
451 window [\fIWINDOW_SEL\fR] \fIOPTIONS\fR
452 .RE
453 .sp
454 .it 1 an-trap
455 .nr an-no-space-flag 1
456 .nr an-break-flag 1
457 .br
458 .ps +1
459 \fBOptions\fR
460 .RS 4
461 .PP
462 \fB\-f\fR, \fB\-\-focus\fR [\fIWINDOW_SEL\fR]
463 .RS 4
464 Focus the selected or given window\&.
465 .RE
466 .PP
467 \fB\-d\fR, \fB\-\-to\-desktop\fR \fIDESKTOP_SEL\fR
468 .RS 4
469 Send the selected window to the given desktop\&.
470 .RE
471 .PP
472 \fB\-m\fR, \fB\-\-to\-monitor\fR \fIMONITOR_SEL\fR
473 .RS 4
474 Send the selected window to the given monitor\&.
475 .RE
476 .PP
477 \fB\-w\fR, \fB\-\-to\-window\fR \fIWINDOW_SEL\fR
478 .RS 4
479 Transplant the selected window to the given window\&.
480 .RE
481 .PP
482 \fB\-s\fR, \fB\-\-swap\fR \fIWINDOW_SEL\fR
483 .RS 4
484 Swap the selected window with the given window\&.
485 .RE
486 .PP
487 \fB\-p\fR, \fB\-\-presel\fR \fIDIR\fR|cancel
488 .RS 4
489 Preselect the splitting area of the selected window (or cancel the preselection)\&.
490 .RE
491 .PP
492 \fB\-r\fR, \fB\-\-ratio\fR \fIRATIO\fR
493 .RS 4
494 Set the splitting ratio of the selected window (0 <
495 \fIRATIO\fR
496 < 1)\&.
497 .RE
498 .PP
499 \fB\-e\fR, \fB\-\-edge\fR \fIDIR\fR \fIRATIO\fR|pull|push
500 .RS 4
501 Set the splitting ratio (or pull, or push) the edge located in the given direction in relation to the selected window\&.
502 .RE
503 .PP
504 \fB\-R\fR, \fB\-\-rotate\fR \fIDIR\fR \fI90|270|180\fR
505 .RS 4
506 Rotate the tree holding the edge located in the given direction in relation to the selected window\&.
507 .RE
508 .PP
509 \fB\-t\fR, \fB\-\-toggle\fR floating|fullscreen|locked|sticky|private[=on|off]
510 .RS 4
511 Set or toggle the given state for the selected window\&.
512 .RE
513 .PP
514 \fB\-c\fR, \fB\-\-close\fR
515 .RS 4
516 Close the selected window\&.
517 .RE
518 .PP
519 \fB\-k\fR, \fB\-\-kill\fR
520 .RS 4
521 Kill the selected window\&.
522 .RE
523 .RE
524 .SS "Desktop"
525 .sp
526 .it 1 an-trap
527 .nr an-no-space-flag 1
528 .nr an-break-flag 1
529 .br
530 .ps +1
531 \fBGeneral Syntax\fR
532 .RS 4
533 .sp
534 desktop [\fIDESKTOP_SEL\fR] \fIOPTIONS\fR
535 .RE
536 .sp
537 .it 1 an-trap
538 .nr an-no-space-flag 1
539 .nr an-break-flag 1
540 .br
541 .ps +1
542 \fBOptions\fR
543 .RS 4
544 .PP
545 \fB\-f\fR, \fB\-\-focus\fR [\fIDESKTOP_SEL\fR]
546 .RS 4
547 Focus the selected or given desktop\&.
548 .RE
549 .PP
550 \fB\-m\fR, \fB\-\-to\-monitor\fR \fIMONITOR_SEL\fR
551 .RS 4
552 Send the selected desktop to the given monitor\&.
553 .RE
554 .PP
555 \fB\-l\fR, \fB\-\-layout\fR \fICYCLE_DIR\fR|monocle|tiled
556 .RS 4
557 Set or cycle the layout of the selected desktop\&.
558 .RE
559 .PP
560 \fB\-n\fR, \fB\-\-rename\fR <new_name>
561 .RS 4
562 Rename the selected desktop\&.
563 .RE
564 .PP
565 \fB\-s\fR, \fB\-\-swap\fR \fIDESKTOP_SEL\fR
566 .RS 4
567 Swap the selected desktop with the given desktop\&.
568 .RE
569 .PP
570 \fB\-r\fR, \fB\-\-remove\fR
571 .RS 4
572 Remove the selected desktop\&.
573 .RE
574 .PP
575 \fB\-c\fR, \fB\-\-cancel\-presel\fR
576 .RS 4
577 Cancel the preselection of all the windows of the selected desktop\&.
578 .RE
579 .PP
580 \fB\-F\fR, \fB\-\-flip\fR \fIhorizontal|vertical\fR
581 .RS 4
582 Flip the tree of the selected desktop\&.
583 .RE
584 .PP
585 \fB\-R\fR, \fB\-\-rotate\fR \fI90|270|180\fR
586 .RS 4
587 Rotate the tree of the selected desktop\&.
588 .RE
589 .PP
590 \fB\-B\fR, \fB\-\-balance\fR
591 .RS 4
592 Adjust the split ratios of the tree of the selected desktop so that all windows occupy the same area\&.
593 .RE
594 .PP
595 \fB\-C\fR, \fB\-\-circulate\fR forward|backward
596 .RS 4
597 Circulate the leaves of the tree of the selected desktop\&.
598 .RE
599 .PP
600 \fB\-t\fR, \fB\-\-toggle\fR floating[=on|off]
601 .RS 4
602 Set or toggle the given state for the selected desktop\&.
603 .RE
604 .RE
605 .SS "Monitor"
606 .sp
607 .it 1 an-trap
608 .nr an-no-space-flag 1
609 .nr an-break-flag 1
610 .br
611 .ps +1
612 \fBGeneral Syntax\fR
613 .RS 4
614 .sp
615 monitor [\fIMONITOR_SEL\fR] \fIOPTIONS\fR
616 .RE
617 .sp
618 .it 1 an-trap
619 .nr an-no-space-flag 1
620 .nr an-break-flag 1
621 .br
622 .ps +1
623 \fBOptions\fR
624 .RS 4
625 .PP
626 \fB\-f\fR, \fB\-\-focus\fR [\fIMONITOR_SEL\fR]
627 .RS 4
628 Focus the selected or given monitor\&.
629 .RE
630 .PP
631 \fB\-a\fR, \fB\-\-add\-desktops\fR <name>\&...
632 .RS 4
633 Create desktops with the given names in the selected monitor\&.
634 .RE
635 .PP
636 \fB\-r\fR, \fB\-\-remove\-desktops\fR <name>\&...
637 .RS 4
638 Remove desktops with the given names\&.
639 .RE
640 .PP
641 \fB\-n\fR, \fB\-\-rename\fR <new_name>
642 .RS 4
643 Rename the selected monitor\&.
644 .RE
645 .PP
646 \fB\-d\fR, \fB\-\-reset\-desktops\fR <name>\&...
647 .RS 4
648 Rename, add or remove desktops depending on whether the number of given names is equal, superior or inferior to the number of existing desktops\&.
649 .RE
650 .PP
651 \fB\-s\fR, \fB\-\-swap\fR \fIMONITOR_SEL\fR
652 .RS 4
653 Swap the selected monitor with the given monitor\&.
654 .RE
655 .RE
656 .SS "Query"
657 .sp
658 .it 1 an-trap
659 .nr an-no-space-flag 1
660 .nr an-break-flag 1
661 .br
662 .ps +1
663 \fBGeneral Syntax\fR
664 .RS 4
665 .sp
666 query \fIOPTIONS\fR
667 .RE
668 .sp
669 .it 1 an-trap
670 .nr an-no-space-flag 1
671 .nr an-break-flag 1
672 .br
673 .ps +1
674 \fBOptions\fR
675 .RS 4
676 .PP
677 \fB\-W\fR, \fB\-\-windows\fR
678 .RS 4
679 List matching windows\&.
680 .RE
681 .PP
682 \fB\-D\fR, \fB\-\-desktops\fR
683 .RS 4
684 List matching desktops\&.
685 .RE
686 .PP
687 \fB\-M\fR, \fB\-\-monitors\fR
688 .RS 4
689 List matching monitors\&.
690 .RE
691 .PP
692 \fB\-T\fR, \fB\-\-tree\fR
693 .RS 4
694 Print tree rooted at query\&.
695 .RE
696 .PP
697 \fB\-H\fR, \fB\-\-history\fR
698 .RS 4
699 Print the history as it relates to the query\&.
700 .RE
701 .PP
702 \fB\-S\fR, \fB\-\-stack\fR
703 .RS 4
704 Print the window stacking order\&.
705 .RE
706 .PP
707 [\fB\-m\fR,\fB\-\-monitor\fR [\fIMONITOR_SEL\fR]] | [\fB\-d\fR,\fB\-\-desktop\fR [\fIDESKTOP_SEL\fR]] | [\fB\-w\fR, \fB\-\-window\fR [\fIWINDOW_SEL\fR]]
708 .RS 4
709 Constrain matches to the selected monitor, desktop or window\&.
710 .RE
711 .RE
712 .SS "Restore"
713 .sp
714 .it 1 an-trap
715 .nr an-no-space-flag 1
716 .nr an-break-flag 1
717 .br
718 .ps +1
719 \fBGeneral Syntax\fR
720 .RS 4
721 .sp
722 restore \fIOPTIONS\fR
723 .RE
724 .sp
725 .it 1 an-trap
726 .nr an-no-space-flag 1
727 .nr an-break-flag 1
728 .br
729 .ps +1
730 \fBOptions\fR
731 .RS 4
732 .PP
733 \fB\-T\fR, \fB\-\-tree\fR <file_path>
734 .RS 4
735 Load the desktop trees from the given file\&.
736 .RE
737 .PP
738 \fB\-H\fR, \fB\-\-history\fR <file_path>
739 .RS 4
740 Load the focus history from the given file\&.
741 .RE
742 .PP
743 \fB\-S\fR, \fB\-\-stack\fR <file_path>
744 .RS 4
745 Load the window stacking order from the given file\&.
746 .RE
747 .RE
748 .SS "Control"
749 .sp
750 .it 1 an-trap
751 .nr an-no-space-flag 1
752 .nr an-break-flag 1
753 .br
754 .ps +1
755 \fBGeneral Syntax\fR
756 .RS 4
757 .sp
758 control \fIOPTIONS\fR
759 .RE
760 .sp
761 .it 1 an-trap
762 .nr an-no-space-flag 1
763 .nr an-break-flag 1
764 .br
765 .ps +1
766 \fBOptions\fR
767 .RS 4
768 .PP
769 \fB\-\-adopt\-orphans\fR
770 .RS 4
771 Manage all the unmanaged windows remaining from a previous session\&.
772 .RE
773 .PP
774 \fB\-\-toggle\-visibility\fR
775 .RS 4
776 Toggle the visibility of all the windows\&.
777 .RE
778 .PP
779 \fB\-\-record\-history\fR on|off
780 .RS 4
781 Enable or disable the recording of window focus history\&.
782 .RE
783 .PP
784 \fB\-\-subscribe\fR
785 .RS 4
786 Continuously print status informations on standard output\&.
787 .RE
788 .RE
789 .SS "Pointer"
790 .sp
791 .it 1 an-trap
792 .nr an-no-space-flag 1
793 .nr an-break-flag 1
794 .br
795 .ps +1
796 \fBGeneral Syntax\fR
797 .RS 4
798 .sp
799 pointer \fIOPTIONS\fR
800 .RE
801 .sp
802 .it 1 an-trap
803 .nr an-no-space-flag 1
804 .nr an-break-flag 1
805 .br
806 .ps +1
807 \fBOptions\fR
808 .RS 4
809 .PP
810 \fB\-g\fR, \fB\-\-grab\fR focus|move|resize_side|resize_corner
811 .RS 4
812 Initiate the given pointer action\&.
813 .RE
814 .PP
815 \fB\-t\fR, \fB\-\-track\fR <x> <y>
816 .RS 4
817 Pass the pointer root coordinates for the current pointer action\&.
818 .RE
819 .PP
820 \fB\-u\fR, \fB\-\-ungrab\fR
821 .RS 4
822 Terminate the current pointer action\&.
823 .RE
824 .RE
825 .SS "Config"
826 .sp
827 .it 1 an-trap
828 .nr an-no-space-flag 1
829 .nr an-break-flag 1
830 .br
831 .ps +1
832 \fBGeneral Syntax\fR
833 .RS 4
834 .PP
835 config [\-m \fIMONITOR_SEL\fR|\-d \fIDESKTOP_SEL\fR] <key> [<value>]
836 .RS 4
837 Get or set the value of <key>\&.
838 .RE
839 .RE
840 .SS "Quit"
841 .sp
842 .it 1 an-trap
843 .nr an-no-space-flag 1
844 .nr an-break-flag 1
845 .br
846 .ps +1
847 \fBGeneral Syntax\fR
848 .RS 4
849 .PP
850 quit [<status>]
851 .RS 4
852 Quit with an optional exit status\&.
853 .RE
854 .RE
855 .SH "SETTINGS"
856 .sp
857 Colors are either X color names or \fI#RRGGBB\fR, booleans are \fItrue\fR or \fIfalse\fR\&.
858 .sp
859 All the boolean settings are \fIfalse\fR by default\&.
860 .SS "Global Settings"
861 .PP
862 \fIrule_command\fR
863 .RS 4
864 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:
865 \fBkey1=value1 key2=value2 \&...\fR, where
866 \fBkeyN\fR
867 is one of
868 \fIfloating\fR,
869 \fIfullscreen\fR,
870 \fIlocked\fR,
871 \fIsticky\fR,
872 \fIprivate\fR,
873 \fIframe\fR,
874 \fIcenter\fR,
875 \fIlower\fR,
876 \fIfollow\fR,
877 \fImanage\fR,
878 \fIfocus\fR,
879 \fIdesktop\fR
880 or
881 \fImonitor\fR\&.
882 .RE
883 .PP
884 \fIstatus_prefix\fR
885 .RS 4
886 Prefix prepended to each of the status lines\&.
887 .RE
888 .PP
889 \fIfocused_border_color\fR
890 .RS 4
891 Color of the border of a focused window of a focused monitor\&.
892 .RE
893 .PP
894 \fIactive_border_color\fR
895 .RS 4
896 Color of the border of a focused window of an unfocused monitor\&.
897 .RE
898 .PP
899 \fInormal_border_color\fR
900 .RS 4
901 Color of the border of an unfocused window\&.
902 .RE
903 .PP
904 \fIpresel_border_color\fR
905 .RS 4
906 Color of the
907 \fBpresel\fR
908 message feedback\&.
909 .RE
910 .PP
911 \fIfocused_locked_border_color\fR
912 .RS 4
913 Color of the border of a focused locked window of a focused monitor\&.
914 .RE
915 .PP
916 \fIactive_locked_border_color\fR
917 .RS 4
918 Color of the border of a focused locked window of an unfocused monitor\&.
919 .RE
920 .PP
921 \fInormal_locked_border_color\fR
922 .RS 4
923 Color of the border of an unfocused locked window\&.
924 .RE
925 .PP
926 \fIfocused_sticky_border_color\fR
927 .RS 4
928 Color of the border of a focused sticky window of a focused monitor\&.
929 .RE
930 .PP
931 \fIactive_sticky_border_color\fR
932 .RS 4
933 Color of the border of a focused sticky window of an unfocused monitor\&.
934 .RE
935 .PP
936 \fInormal_sticky_border_color\fR
937 .RS 4
938 Color of the border of an unfocused sticky window\&.
939 .RE
940 .PP
941 \fIfocused_private_border_color\fR
942 .RS 4
943 Color of the border of a focused private window of a focused monitor\&.
944 .RE
945 .PP
946 \fIactive_private_border_color\fR
947 .RS 4
948 Color of the border of a focused private window of an unfocused monitor\&.
949 .RE
950 .PP
951 \fInormal_private_border_color\fR
952 .RS 4
953 Color of the border of an unfocused private window\&.
954 .RE
955 .PP
956 \fIurgent_border_color\fR
957 .RS 4
958 Color of the border of an urgent window\&.
959 .RE
960 .PP
961 \fIfocused_frame_opacity\fR
962 .RS 4
963 Opacity of a focused frame of a focused monitor\&.
964 .RE
965 .PP
966 \fIactive_frame_opacity\fR
967 .RS 4
968 Opacity of a focused frame of an unfocused monitor\&.
969 .RE
970 .PP
971 \fInormal_frame_opacity\fR
972 .RS 4
973 Opacity of an unfocused frame\&.
974 .RE
975 .PP
976 \fIsplit_ratio\fR
977 .RS 4
978 Default split ratio\&.
979 .RE
980 .PP
981 \fIgrowth_factor\fR
982 .RS 4
983 Intensity of the growth involved in pulling or pushing an edge\&.
984 .RE
985 .PP
986 \fIhistory_aware_focus\fR
987 .RS 4
988 Give priority to the focus history when focusing nodes\&.
989 .RE
990 .PP
991 \fIborderless_monocle\fR
992 .RS 4
993 Remove borders for tiled windows in monocle mode\&.
994 .RE
995 .PP
996 \fIgapless_monocle\fR
997 .RS 4
998 Remove gaps for tiled windows in monocle mode\&.
999 .RE
1000 .PP
1001 \fIfocus_follows_pointer\fR
1002 .RS 4
1003 Focus the window under the pointer\&.
1004 .RE
1005 .PP
1006 \fIpointer_follows_monitor\fR
1007 .RS 4
1008 When focusing a monitor, put the pointer at its center\&.
1009 .RE
1010 .PP
1011 \fIauto_alternate\fR
1012 .RS 4
1013 Interpret two consecutive identical
1014 \fBuse\fR
1015 messages as an
1016 \fBalternate\fR
1017 message\&.
1018 .RE
1019 .PP
1020 \fIauto_cancel\fR
1021 .RS 4
1022 Interpret two consecutive identical
1023 \fBpresel\fR
1024 messages as a
1025 \fBcancel\fR
1026 message\&.
1027 .RE
1028 .PP
1029 \fIapply_floating_atom\fR
1030 .RS 4
1031 Set the value of the
1032 \fI_BSPWM_FLOATING_WINDOW\fR
1033 atom of each window according to its floating state\&.
1034 .RE
1035 .PP
1036 \fIignore_ewmh_focus\fR
1037 .RS 4
1038 Ignore EWMH requests to focus a window\&.
1039 .RE
1040 .PP
1041 \fIremove_disabled_monitor\fR
1042 .RS 4
1043 Consider disabled monitors as disconnected\&.
1044 .RE
1045 .SS "Monitor Settings"
1046 .PP
1047 \fItop_padding\fR, \fIright_padding\fR, \fIbottom_padding\fR, \fIleft_padding\fR
1048 .RS 4
1049 Padding space added at the sides of the monitor\&.
1050 .RE
1051 .SS "Desktop Settings"
1052 .PP
1053 \fIwindow_gap\fR
1054 .RS 4
1055 Size of the gap that separates windows\&.
1056 .RE
1057 .PP
1058 \fIborder_width\fR
1059 .RS 4
1060 Window border width\&.
1061 .RE
1062 .SH "STATUS FORMAT"
1063 .sp
1064 Status informations are composed of items separated by colons\&.
1065 .sp
1066 Each item as the form \fI<type><value>\fR where \fI<type>\fR is the first character of the item\&.
1067 .PP
1068 \fIM<monitor_name>\fR
1069 .RS 4
1070 Focused monitor\&.
1071 .RE
1072 .PP
1073 \fIm<monitor_name>\fR
1074 .RS 4
1075 Unfocused monitor\&.
1076 .RE
1077 .PP
1078 \fIO<desktop_name>\fR
1079 .RS 4
1080 Occupied focused desktop\&.
1081 .RE
1082 .PP
1083 \fIo<desktop_name>\fR
1084 .RS 4
1085 Occupied unfocused desktop\&.
1086 .RE
1087 .PP
1088 \fIF<desktop_name>\fR
1089 .RS 4
1090 Free focused desktop\&.
1091 .RE
1092 .PP
1093 \fIf<desktop_name>\fR
1094 .RS 4
1095 Free unfocused desktop\&.
1096 .RE
1097 .PP
1098 \fIU<desktop_name>\fR
1099 .RS 4
1100 Urgent focused desktop\&.
1101 .RE
1102 .PP
1103 \fIu<desktop_name>\fR
1104 .RS 4
1105 Urgent unfocused desktop\&.
1106 .RE
1107 .PP
1108 \fIL(tiled|monocle)\fR
1109 .RS 4
1110 Layout of the focused desktop of the focused monitor\&.
1111 .RE
1112 .SH "ENVIRONMENT VARIABLES"
1113 .PP
1114 \fIBSPWM_SOCKET\fR
1115 .RS 4
1116 The path of the socket used for the communication between
1117 \fBbspc\fR
1118 and
1119 \fBbspwm\fR\&. If it isn\(cqt defined, then the following path is used:
1120 \fI/tmp/bspwm\-socket\fR\&.
1121 .RE
1122 .SH "PANELS"
1123 .sp
1124 .RS 4
1125 .ie n \{\
1126 \h'-04'\(bu\h'+03'\c
1127 .\}
1128 .el \{\
1129 .sp -1
1130 .IP \(bu 2.3
1131 .\}
1132 Any EWMH compliant panel (e\&.g\&.:
1133 \fItint2\fR,
1134 \fIbmpanel2\fR, etc\&.)\&.
1135 .RE
1136 .sp
1137 .RS 4
1138 .ie n \{\
1139 \h'-04'\(bu\h'+03'\c
1140 .\}
1141 .el \{\
1142 .sp -1
1143 .IP \(bu 2.3
1144 .\}
1145 A custom panel if the
1146 \fI\-s\fR
1147 flag is used (have a look at the files in
1148 \fIexamples/panel\fR)\&.
1149 .RE
1150 .SH "KEY FEATURES"
1151 .sp
1152 .RS 4
1153 .ie n \{\
1154 \h'-04'\(bu\h'+03'\c
1155 .\}
1156 .el \{\
1157 .sp -1
1158 .IP \(bu 2.3
1159 .\}
1160 Configured and controlled through messages\&.
1161 .RE
1162 .sp
1163 .RS 4
1164 .ie n \{\
1165 \h'-04'\(bu\h'+03'\c
1166 .\}
1167 .el \{\
1168 .sp -1
1169 .IP \(bu 2.3
1170 .\}
1171 Multiple monitors support (via
1172 \fIRandR\fR)\&.
1173 .RE
1174 .sp
1175 .RS 4
1176 .ie n \{\
1177 \h'-04'\(bu\h'+03'\c
1178 .\}
1179 .el \{\
1180 .sp -1
1181 .IP \(bu 2.3
1182 .\}
1183 EWMH support (\fBtint2\fR
1184 works)\&.
1185 .RE
1186 .sp
1187 .RS 4
1188 .ie n \{\
1189 \h'-04'\(bu\h'+03'\c
1190 .\}
1191 .el \{\
1192 .sp -1
1193 .IP \(bu 2.3
1194 .\}
1195 Hybrid tiling\&.
1196 .RE
1197 .SH "CONTRIBUTORS"
1198 .sp
1199 .RS 4
1200 .ie n \{\
1201 \h'-04'\(bu\h'+03'\c
1202 .\}
1203 .el \{\
1204 .sp -1
1205 .IP \(bu 2.3
1206 .\}
1207 Steven Allen <steven at stebalien\&.com>
1208 .RE
1209 .sp
1210 .RS 4
1211 .ie n \{\
1212 \h'-04'\(bu\h'+03'\c
1213 .\}
1214 .el \{\
1215 .sp -1
1216 .IP \(bu 2.3
1217 .\}
1218 Thomas Adam <thomas at xteddy\&.org>
1219 .RE
1220 .sp
1221 .RS 4
1222 .ie n \{\
1223 \h'-04'\(bu\h'+03'\c
1224 .\}
1225 .el \{\
1226 .sp -1
1227 .IP \(bu 2.3
1228 .\}
1229 Ivan Kanakarakis <ivan\&.kanak at gmail\&.com>
1230 .RE
1231 .SH "AUTHOR"
1232 .sp
1233 Bastien Dejean <nihilhill at gmail\&.com>
1234 .SH "MAILING LIST"
1235 .sp
1236 bspwm at librelist\&.com