1BSPWM(1)                         Bspwm Manual                         BSPWM(1)
2
3
4

NAME

6       bspwm - Binary space partitioning window manager
7

SYNOPSIS

9       bspwm [-h|-v|-c CONFIG_PATH]
10
11       bspc DOMAIN [SELECTOR] COMMANDS
12
13       bspc COMMAND [OPTIONS] [ARGUMENTS]
14

DESCRIPTION

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

OPTIONS

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

COMMON DEFINITIONS

32           DIR         := north | west | south | east
33           CYCLE_DIR   := next | prev
34

SELECTORS

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

WINDOW STATES

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

NODE FLAGS

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

STACKING LAYERS

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

RECEPTACLES

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

DOMAINS

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

EXIT CODES

611       If the server can’t handle a message, bspc will return with a non-zero
612       exit code.
613

SETTINGS

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

POINTER BINDINGS

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

EVENTS

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

REPORT FORMAT

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

ENVIRONMENT VARIABLES

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

CONTRIBUTORS

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

AUTHOR

923       Bastien Dejean <nihilhill at gmail.com>
924
925
926
927Bspwm 0.9.9                       08/13/2019                          BSPWM(1)
Impressum