1BSPWM(1) Bspwm Manual BSPWM(1)
2
3
4
6 bspwm - Binary space partitioning window manager
7
9 bspwm [-h|-v|-c CONFIG_PATH]
10
11 bspc DOMAIN [SELECTOR] COMMANDS
12
13 bspc COMMAND [OPTIONS] [ARGUMENTS]
14
16 bspwm is a tiling window manager that represents windows as the leaves
17 of a full binary tree.
18
19 It is controlled and configured via bspc.
20
22 -h
23 Print the synopsis and exit.
24
25 -v
26 Print the version and exit.
27
28 -c CONFIG_PATH
29 Use the given configuration file.
30
32 DIR := north | west | south | east
33 CYCLE_DIR := next | prev
34
36 Selectors are used to select a target node, desktop, or monitor. A
37 selector can either describe the target relatively or name it globally.
38
39 Selectors consist of an optional reference, a descriptor and any number
40 of non-conflicting modifiers as follows:
41
42 [REFERENCE#]DESCRIPTOR(.MODIFIER)*
43
44 The relative targets are computed in relation to the given reference
45 (the default reference value is focused).
46
47 An exclamation mark can be prepended to any modifier in order to
48 reverse its meaning.
49
50 The following characters cannot be used in monitor or desktop names: #,
51 :, ..
52
53 The special selector %<name> can be used to select a monitor or a
54 desktop with an invalid name.
55
56 Node
57 Select a node.
58
59 NODE_SEL := [NODE_SEL#](DIR|CYCLE_DIR|PATH|any|last|newest|
60 older|newer|focused|pointed|biggest|smallest|
61 <node_id>)[.[!]focused][.[!]active][.[!]automatic][.[!]local]
62 [.[!]leaf][.[!]window][.[!]STATE][.[!]FLAG][.[!]LAYER]
63 [.[!]same_class][.[!]descendant_of][.[!]ancestor_of]
64
65 STATE := tiled|pseudo_tiled|floating|fullscreen
66
67 FLAG := hidden|sticky|private|locked|marked|urgent
68
69 LAYER := below|normal|above
70
71 PATH := @[DESKTOP_SEL:][[/]JUMP](/JUMP)*
72
73 JUMP := first|1|second|2|brother|parent|DIR
74
75 Descriptors
76 DIR
77 Selects the window in the given (spacial) direction relative to
78 the reference node.
79
80 CYCLE_DIR
81 Selects the window in the given (cyclic) direction relative to
82 the reference node.
83
84 PATH
85 Selects the node at the given path.
86
87 any
88 Selects the first node that matches the given selectors.
89
90 last
91 Selects the previously focused node relative to the reference
92 node.
93
94 newest
95 Selects the newest node in the history of the focused node.
96
97 older
98 Selects the node older than the reference node in the history.
99
100 newer
101 Selects the node newer than the reference node in the history.
102
103 focused
104 Selects the currently focused node.
105
106 pointed
107 Selects the window under the pointer.
108
109 biggest
110 Selects the biggest window.
111
112 smallest
113 Selects the smallest window.
114
115 <node_id>
116 Selects the node with the given ID.
117
118 Path Jumps
119 The initial node is the focused node (or the root if the path
120 starts with /) of the reference desktop (or the selected desktop if
121 the path has a DESKTOP_SEL prefix).
122
123 1|first
124 Jumps to the first child.
125
126 2|second
127 Jumps to the second child.
128
129 brother
130 Jumps to the brother node.
131
132 parent
133 Jumps to the parent node.
134
135 DIR
136 Jumps to the node holding the edge in the given direction.
137
138 Modifiers
139 [!]focused
140 Only consider the focused node.
141
142 [!]active
143 Only consider nodes that are the focused node of their desktop.
144
145 [!]automatic
146 Only consider nodes in automatic insertion mode. See also
147 --presel-dir under Node in the DOMAINS section below.
148
149 [!]local
150 Only consider nodes in the reference desktop.
151
152 [!]leaf
153 Only consider leaf nodes.
154
155 [!]window
156 Only consider nodes that hold a window.
157
158 [!](tiled|pseudo_tiled|floating|fullscreen)
159 Only consider windows in the given state.
160
161 [!]same_class
162 Only consider windows that have the same class as the reference
163 window.
164
165 [!]descendant_of
166 Only consider nodes that are descendants of the reference node.
167
168 [!]ancestor_of
169 Only consider nodes that are ancestors of the reference node.
170
171 [!](hidden|sticky|private|locked|marked|urgent)
172 Only consider windows that have the given flag set.
173
174 [!](below|normal|above)
175 Only consider windows in the given layer.
176
177 Desktop
178 Select a desktop.
179
180 DESKTOP_SEL := [DESKTOP_SEL#](CYCLE_DIR|any|last|newest|older|newer|
181 [MONITOR_SEL:](focused|^<n>)|
182 <desktop_id>|<desktop_name>)[.[!]focused][.[!]active]
183 [.[!]occupied][.[!]urgent][.[!]local]
184
185 Descriptors
186 CYCLE_DIR
187 Selects the desktop in the given direction relative to the
188 reference desktop.
189
190 any
191 Selects the first desktop that matches the given selectors.
192
193 last
194 Selects the previously focused desktop relative to the
195 reference desktop.
196
197 newest
198 Selects the newest desktop in the history of the focused
199 desktops.
200
201 older
202 Selects the desktop older than the reference desktop in the
203 history.
204
205 newer
206 Selects the desktop newer than the reference desktop in the
207 history.
208
209 focused
210 Selects the currently focused desktop.
211
212 ^<n>
213 Selects the nth desktop. If MONITOR_SEL is given, selects the
214 nth desktop on the selected monitor.
215
216 <desktop_id>
217 Selects the desktop with the given ID.
218
219 <desktop_name>
220 Selects the desktop with the given name.
221
222 Modifiers
223 [!]focused
224 Only consider the focused desktop.
225
226 [!]active
227 Only consider desktops that are the focused desktop of their
228 monitor.
229
230 [!]occupied
231 Only consider occupied desktops.
232
233 [!]urgent
234 Only consider urgent desktops.
235
236 [!]local
237 Only consider desktops inside the reference monitor.
238
239 Monitor
240 Select a monitor.
241
242 MONITOR_SEL := [MONITOR_SEL#](DIR|CYCLE_DIR|any|last|newest|older|newer|
243 focused|pointed|primary|^<n>|
244 <monitor_id>|<monitor_name>)[.[!]focused][.[!]occupied]
245
246 Descriptors
247 DIR
248 Selects the monitor in the given (spacial) direction relative
249 to the reference monitor.
250
251 CYCLE_DIR
252 Selects the monitor in the given (cyclic) direction relative to
253 the reference monitor.
254
255 any
256 Selects the first monitor that matches the given selectors.
257
258 last
259 Selects the previously focused monitor relative to the
260 reference monitor.
261
262 newest
263 Selects the newest monitor in the history of the focused
264 monitors.
265
266 older
267 Selects the monitor older than the reference monitor in the
268 history.
269
270 newer
271 Selects the monitor newer than the reference monitor in the
272 history.
273
274 focused
275 Selects the currently focused monitor.
276
277 pointed
278 Selects the monitor under the pointer.
279
280 primary
281 Selects the primary monitor.
282
283 ^<n>
284 Selects the nth monitor.
285
286 <monitor_id>
287 Selects the monitor with the given ID.
288
289 <monitor_name>
290 Selects the monitor with the given name.
291
292 Modifiers
293 [!]focused
294 Only consider the focused monitor.
295
296 [!]occupied
297 Only consider monitors where the focused desktop is occupied.
298
300 tiled
301 Its size and position are determined by the window tree.
302
303 pseudo_tiled
304 A tiled window that automatically shrinks but doesn’t stretch
305 beyond its floating size.
306
307 floating
308 Can be moved/resized freely. Although it doesn’t use any tiling
309 space, it is still part of the window tree.
310
311 fullscreen
312 Fills its monitor rectangle and has no borders.
313
315 hidden
316 Is hidden and doesn’t occupy any tiling space.
317
318 sticky
319 Stays in the focused desktop of its monitor.
320
321 private
322 Tries to keep the same tiling position/size.
323
324 locked
325 Ignores the node --close message.
326
327 marked
328 Is marked (useful for deferred actions). A marked node becomes
329 unmarked after being sent on a preselected node.
330
331 urgent
332 Has its urgency hint set. This flag is set externally.
333
335 There’s three stacking layers: BELOW, NORMAL and ABOVE.
336
337 In each layer, the window are orderered as follow: tiled & pseudo-tiled
338 < floating < fullscreen.
339
341 A leaf node that doesn’t hold any window is called a receptacle. When a
342 node is inserted on a receptacle in automatic mode, it will replace the
343 receptacle. A receptacle can be inserted on a node, preselected and
344 killed. Receptacles can therefore be used to build a tree whose leaves
345 are receptacles. Using the appropriate rules, one can then send windows
346 on the leaves of this tree. This feature is used in
347 examples/receptacles to store and recreate layouts.
348
350 Node
351 General Syntax
352 node [NODE_SEL] COMMANDS
353
354 If NODE_SEL is omitted, focused is assumed.
355
356 Commands
357 -f, --focus [NODE_SEL]
358 Focus the selected or given node.
359
360 -a, --activate [NODE_SEL]
361 Activate the selected or given node.
362
363 -d, --to-desktop DESKTOP_SEL [--follow]
364 Send the selected node to the given desktop. If --follow is
365 passed, the focused node will stay focused.
366
367 -m, --to-monitor MONITOR_SEL [--follow]
368 Send the selected node to the given monitor. If --follow is
369 passed, the focused node will stay focused.
370
371 -n, --to-node NODE_SEL [--follow]
372 Send the selected node on the given node. If --follow is
373 passed, the focused node will stay focused.
374
375 -s, --swap NODE_SEL [--follow]
376 Swap the selected node with the given node. If --follow is
377 passed, the focused node will stay focused.
378
379 -p, --presel-dir [~]DIR|cancel
380 Preselect the splitting area of the selected node (or cancel
381 the preselection). If ~ is prepended to DIR and the current
382 preselection direction matches DIR, then the argument is
383 interpreted as cancel. A node with a preselected area is said
384 to be in "manual insertion mode".
385
386 -o, --presel-ratio RATIO
387 Set the splitting ratio of the preselection area.
388
389 -v, --move dx dy
390 Move the selected window by dx pixels horizontally and dy
391 pixels vertically.
392
393 -z, --resize
394 top|left|bottom|right|top_left|top_right|bottom_right|bottom_left
395 dx dy
396 Resize the selected window by moving the given handle by dx
397 pixels horizontally and dy pixels vertically.
398
399 -r, --ratio RATIO|(+|-)(PIXELS|FRACTION)
400 Set the splitting ratio of the selected node (0 < RATIO < 1).
401
402 -R, --rotate 90|270|180
403 Rotate the tree rooted at the selected node.
404
405 -F, --flip horizontal|vertical
406 Flip the the tree rooted at selected node.
407
408 -E, --equalize
409 Reset the split ratios of the tree rooted at the selected node
410 to their default value.
411
412 -B, --balance
413 Adjust the split ratios of the tree rooted at the selected node
414 so that all windows occupy the same area.
415
416 -C, --circulate forward|backward
417 Circulate the windows of the tree rooted at the selected node.
418
419 -t, --state [~](tiled|pseudo_tiled|floating|fullscreen)
420 Set the state of the selected window. If ~ is present and the
421 current state matches the given state, then the argument is
422 interpreted as the last state.
423
424 -g, --flag hidden|sticky|private|locked|marked[=on|off]
425 Set or toggle the given flag for the selected node.
426
427 -l, --layer below|normal|above
428 Set the stacking layer of the selected window.
429
430 -i, --insert-receptacle
431 Insert a receptacle node at the selected node.
432
433 -c, --close
434 Close the windows rooted at the selected node.
435
436 -k, --kill
437 Kill the windows rooted at the selected node.
438
439 Desktop
440 General Syntax
441 desktop [DESKTOP_SEL] COMMANDS
442
443 If DESKTOP_SEL is omitted, focused is assumed.
444
445 COMMANDS
446 -f, --focus [DESKTOP_SEL]
447 Focus the selected or given desktop.
448
449 -a, --activate [DESKTOP_SEL]
450 Activate the selected or given desktop.
451
452 -m, --to-monitor MONITOR_SEL [--follow]
453 Send the selected desktop to the given monitor. If --follow is
454 passed, the focused desktop will stay focused.
455
456 -s, --swap DESKTOP_SEL [--follow]
457 Swap the selected desktop with the given desktop. If --follow
458 is passed, the focused desktop will stay focused.
459
460 -l, --layout CYCLE_DIR|monocle|tiled
461 Set or cycle the layout of the selected desktop.
462
463 -n, --rename <new_name>
464 Rename the selected desktop.
465
466 -b, --bubble CYCLE_DIR
467 Bubble the selected desktop in the given direction.
468
469 -r, --remove
470 Remove the selected desktop.
471
472 Monitor
473 General Syntax
474 monitor [MONITOR_SEL] COMMANDS
475
476 If MONITOR_SEL is omitted, focused is assumed.
477
478 Commands
479 -f, --focus [MONITOR_SEL]
480 Focus the selected or given monitor.
481
482 -s, --swap MONITOR_SEL
483 Swap the selected monitor with the given monitor.
484
485 -a, --add-desktops <name>...
486 Create desktops with the given names in the selected monitor.
487
488 -o, --reorder-desktops <name>...
489 Reorder the desktops of the selected monitor to match the given
490 order.
491
492 -d, --reset-desktops <name>...
493 Rename, add or remove desktops depending on whether the number
494 of given names is equal, superior or inferior to the number of
495 existing desktops.
496
497 -g, --rectangle WxH+X+Y
498 Set the rectangle of the selected monitor.
499
500 -n, --rename <new_name>
501 Rename the selected monitor.
502
503 -r, --remove
504 Remove the selected monitor.
505
506 Query
507 General Syntax
508 query COMMANDS [OPTIONS]
509
510 Commands
511 The optional selectors are references.
512
513 -N, --nodes [NODE_SEL]
514 List the IDs of the matching nodes.
515
516 -D, --desktops [DESKTOP_SEL]
517 List the IDs (or names) of the matching desktops.
518
519 -M, --monitors [MONITOR_SEL]
520 List the IDs (or names) of the matching monitors.
521
522 -T, --tree
523 Print a JSON representation of the matching item.
524
525 Options
526 -m,--monitor [MONITOR_SEL], -d,--desktop [DESKTOP_SEL], -n, --node
527 [NODE_SEL]
528 Constrain matches to the selected monitor, desktop or node. The
529 descriptor can be omitted for -M, -D and -N.
530
531 --names
532 Print names instead of IDs. Can only be used with -M and -D.
533
534 Wm
535 General Syntax
536 wm COMMANDS
537
538 Commands
539 -d, --dump-state
540 Dump the current world state on standard output.
541
542 -l, --load-state <file_path>
543 Load a world state from the given file. The path must be
544 absolute.
545
546 -a, --add-monitor <name> WxH+X+Y
547 Add a monitor for the given name and rectangle.
548
549 -O, --reorder-monitors <name>...
550 Reorder the list of monitors to match the given order.
551
552 -o, --adopt-orphans
553 Manage all the unmanaged windows remaining from a previous
554 session.
555
556 -h, --record-history on|off
557 Enable or disable the recording of node focus history.
558
559 -g, --get-status
560 Print the current status information.
561
562 -r, --restart
563 Restart the window manager
564
565 Rule
566 General Syntax
567 rule COMMANDS
568
569 Commands
570 -a, --add (<class_name>|*)[:(<instance_name>|*)] [-o|--one-shot]
571 [monitor=MONITOR_SEL|desktop=DESKTOP_SEL|node=NODE_SEL]
572 [state=STATE] [layer=LAYER] [split_dir=DIR] [split_ratio=RATIO]
573 [(hidden|sticky|private|locked|marked|center|follow|manage|focus|border)=(on|off)]
574 [rectangle=WxH+X+Y]
575 Create a new rule.
576
577 -r, --remove
578 ^<n>|head|tail|(<class_name>|*)[:(<instance_name>|*)]...
579 Remove the given rules.
580
581 -l, --list
582 List the rules.
583
584 Config
585 General Syntax
586 config [-m MONITOR_SEL|-d DESKTOP_SEL|-n NODE_SEL] <setting>
587 [<value>]
588 Get or set the value of <setting>.
589
590 Subscribe
591 General Syntax
592 subscribe [OPTIONS] (all|report|monitor|desktop|node|...)*
593 Continuously print events. See the EVENTS section for the
594 description of each event.
595
596 Options
597 -f, --fifo
598 Print a path to a FIFO from which events can be read and
599 return.
600
601 -c, --count COUNT
602 Stop the corresponding bspc process after having received COUNT
603 events.
604
605 Quit
606 General Syntax
607 quit [<status>]
608 Quit with an optional exit status.
609
611 If the server can’t handle a message, bspc will return with a non-zero
612 exit code.
613
615 Colors are in the form #RRGGBB, booleans are true, on, false or off.
616
617 All the boolean settings are false by default unless stated otherwise.
618
619 Global Settings
620 normal_border_color
621 Color of the border of an unfocused window.
622
623 active_border_color
624 Color of the border of a focused window of an unfocused monitor.
625
626 focused_border_color
627 Color of the border of a focused window of a focused monitor.
628
629 presel_feedback_color
630 Color of the node --presel-{dir,ratio} message feedback area.
631
632 split_ratio
633 Default split ratio.
634
635 status_prefix
636 Prefix prepended to each of the status lines.
637
638 external_rules_command
639 Absolute path to the command used to retrieve rule consequences.
640 The command will receive the following arguments: window ID, class
641 name, instance name, and intermediate consequences. The output of
642 that command must have the following format: key1=value1
643 key2=value2 ... (the valid key/value pairs are given in the
644 description of the rule command).
645
646 automatic_scheme
647 The insertion scheme used when the insertion point is in automatic
648 mode. Accept the following values: longest_side, alternate, spiral.
649
650 initial_polarity
651 On which child should a new window be attached when adding a window
652 on a single window tree in automatic mode. Accept the following
653 values: first_child, second_child.
654
655 directional_focus_tightness
656 The tightness of the algorithm used to decide whether a window is
657 on the DIR side of another window. Accept the following values:
658 high, low.
659
660 removal_adjustment
661 Adjust the brother when unlinking a node from the tree in
662 accordance with the automatic insertion scheme.
663
664 presel_feedback
665 Draw the preselection feedback area. Defaults to true.
666
667 borderless_monocle
668 Remove borders of tiled windows for the monocle desktop layout.
669
670 gapless_monocle
671 Remove gaps of tiled windows for the monocle desktop layout.
672
673 top_monocle_padding, right_monocle_padding, bottom_monocle_padding,
674 left_monocle_padding
675 Padding space added at the sides of the screen for the monocle
676 desktop layout.
677
678 single_monocle
679 Set the desktop layout to monocle if there’s only one tiled window
680 in the tree.
681
682 pointer_motion_interval
683 The minimum interval, in milliseconds, between two motion notify
684 events.
685
686 pointer_modifier
687 Keyboard modifier used for moving or resizing windows. Accept the
688 following values: shift, control, lock, mod1, mod2, mod3, mod4,
689 mod5.
690
691 pointer_action1, pointer_action2, pointer_action3
692 Action performed when pressing pointer_modifier + button<n>. Accept
693 the following values: move, resize_side, resize_corner, focus,
694 none.
695
696 click_to_focus
697 Button used for focusing a window (or a monitor). The possible
698 values are: button1, button2, button3, any, none. Defaults to
699 button1.
700
701 swallow_first_click
702 Don’t replay the click that makes a window focused if
703 click_to_focus isn’t none.
704
705 focus_follows_pointer
706 Focus the window under the pointer.
707
708 pointer_follows_focus
709 When focusing a window, put the pointer at its center.
710
711 pointer_follows_monitor
712 When focusing a monitor, put the pointer at its center.
713
714 mapping_events_count
715 Handle the next mapping_events_count mapping notify events. A
716 negative value implies that every event needs to be handled.
717
718 ignore_ewmh_focus
719 Ignore EWMH focus requests coming from applications.
720
721 ignore_ewmh_fullscreen
722 Block the fullscreen state transitions that originate from an EWMH
723 request. The possible values are: none, all, or a comma separated
724 list of the following values: enter, exit.
725
726 ignore_ewmh_struts
727 BIgnore strut hinting from clients requesting to reserve space
728 (i.e. task bars).
729
730 center_pseudo_tiled
731 Center pseudo tiled windows into their tiling rectangles. Defaults
732 to true.
733
734 honor_size_hints
735 Apply ICCCM window size hints.
736
737 remove_disabled_monitors
738 Consider disabled monitors as disconnected.
739
740 remove_unplugged_monitors
741 Remove unplugged monitors.
742
743 merge_overlapping_monitors
744 Merge overlapping monitors (the bigger remains).
745
746 Monitor and Desktop Settings
747 top_padding, right_padding, bottom_padding, left_padding
748 Padding space added at the sides of the monitor or desktop.
749
750 Desktop Settings
751 window_gap
752 Size of the gap that separates windows.
753
754 Node Settings
755 border_width
756 Window border width.
757
759 click_to_focus
760 Focus the window (or the monitor) under the pointer if the value
761 isn’t none.
762
763 pointer_modifier + button1
764 Move the window under the pointer.
765
766 pointer_modifier + button2
767 Resize the window under the pointer by dragging the nearest side.
768
769 pointer_modifier + button3
770 Resize the window under the pointer by dragging the nearest corner.
771
772 The behavior of pointer_modifier + button<n> can be modified through
773 the pointer_action<n> setting.
774
776 report
777 See the next section for the description of the format.
778
779 monitor_add <monitor_id> <monitor_name> <monitor_geometry>
780 A monitor is added.
781
782 monitor_rename <monitor_id> <old_name> <new_name>
783 A monitor is renamed.
784
785 monitor_remove <monitor_id>
786 A monitor is removed.
787
788 monitor_swap <src_monitor_id> <dst_monitor_id>
789 A monitor is swapped.
790
791 monitor_focus <monitor_id>
792 A monitor is focused.
793
794 monitor_geometry <monitor_id> <monitor_geometry>
795 The geometry of a monitor changed.
796
797 desktop_add <monitor_id> <desktop_id> <desktop_name>
798 A desktop is added.
799
800 desktop_rename <monitor_id> <desktop_id> <old_name> <new_name>
801 A desktop is renamed.
802
803 desktop_remove <monitor_id> <desktop_id>
804 A desktop is removed.
805
806 desktop_swap <src_monitor_id> <src_desktop_id> <dst_monitor_id>
807 <dst_desktop_id>
808 A desktop is swapped.
809
810 desktop_transfer <src_monitor_id> <src_desktop_id> <dst_monitor_id>
811 A desktop is transferred.
812
813 desktop_focus <monitor_id> <desktop_id>
814 A desktop is focused.
815
816 desktop_activate <monitor_id> <desktop_id>
817 A desktop is activated.
818
819 desktop_layout <monitor_id> <desktop_id> tiled|monocle
820 The layout of a desktop changed.
821
822 node_add <monitor_id> <desktop_id> <ip_id> <node_id>
823 A node is added.
824
825 node_remove <monitor_id> <desktop_id> <node_id>
826 A node is removed.
827
828 node_swap <src_monitor_id> <src_desktop_id> <src_node_id>
829 <dst_monitor_id> <dst_desktop_id> <dst_node_id>
830 A node is swapped.
831
832 node_transfer <src_monitor_id> <src_desktop_id> <src_node_id>
833 <dst_monitor_id> <dst_desktop_id> <dst_node_id>
834 A node is transferred.
835
836 node_focus <monitor_id> <desktop_id> <node_id>
837 A node is focused.
838
839 node_activate <monitor_id> <desktop_id> <node_id>
840 A node is activated.
841
842 node_presel <monitor_id> <desktop_id> <node_id> (dir DIR|ratio
843 RATIO|cancel)
844 A node is preselected.
845
846 node_stack <node_id_1> below|above <node_id_2>
847 A node is stacked below or above another node.
848
849 node_geometry <monitor_id> <desktop_id> <node_id> <node_geometry>
850 The geometry of a window changed.
851
852 node_state <monitor_id> <desktop_id> <node_id>
853 tiled|pseudo_tiled|floating|fullscreen on|off
854 The state of a window changed.
855
856 node_flag <monitor_id> <desktop_id> <node_id>
857 hidden|sticky|private|locked|marked|urgent on|off
858 One of the flags of a node changed.
859
860 node_layer <monitor_id> <desktop_id> <node_id> below|normal|above
861 The layer of a window changed.
862
863 pointer_action <monitor_id> <desktop_id> <node_id>
864 move|resize_corner|resize_side begin|end
865 A pointer action occured.
866
867 Please note that bspwm initializes monitors before it reads messages on
868 its socket, therefore the initial monitor events can’t be received.
869
871 Each report event message is composed of items separated by colons.
872
873 Each item has the form <type><value> where <type> is the first
874 character of the item.
875
876 M<monitor_name>
877 Focused monitor.
878
879 m<monitor_name>
880 Unfocused monitor.
881
882 O<desktop_name>
883 Occupied focused desktop.
884
885 o<desktop_name>
886 Occupied unfocused desktop.
887
888 F<desktop_name>
889 Free focused desktop.
890
891 f<desktop_name>
892 Free unfocused desktop.
893
894 U<desktop_name>
895 Urgent focused desktop.
896
897 u<desktop_name>
898 Urgent unfocused desktop.
899
900 L(T|M)
901 Layout of the focused desktop of a monitor.
902
903 T(T|P|F|=|@)
904 State of the focused node of a focused desktop.
905
906 G(S?P?L?M?)
907 Active flags of the focused node of a focused desktop.
908
910 BSPWM_SOCKET
911 The path of the socket used for the communication between bspc and
912 bspwm. If it isn’t defined, then the following path is used:
913 /tmp/bspwm<host_name>_<display_number>_<screen_number>-socket.
914
916 · Steven Allen <steven at stebalien.com>
917
918 · Thomas Adam <thomas at xteddy.org>
919
920 · Ivan Kanakarakis <ivan.kanak at gmail.com>
921
923 Bastien Dejean <nihilhill at gmail.com>
924
925
926
927Bspwm 0.9.9 08/13/2019 BSPWM(1)