3 bspwm \- Tiling window manager based on binary space partitioning
6 .RI [ -h | -v | "-s PANEL_FIFO" | "-p PANEL_PREFIX" ]
13 is a tiling window manager that represents windows as the leaves of a full binary tree.
15 It is controlled and configured via
19 have only two sources of informations: the
21 events it receives and the messages it reads on a dedicated socket.
23 Its configuration file is
24 .IR $XDG_CONFIG_HOME/bspwm/autostart .
26 Keyboard and pointer bindings are defined with
29 Example configuration files can be found in the
33 There is only two splitting modes:
34 .IR automatic " and " manual .
40 mode is entered by sending a
44 Example: insertion of a new node (number 4) into the given tree in
56 +-------------------------+ +-------------------------+
60 | 3 |------------| --> | 4 |------------|
64 +-------------------------+ +-------------------------+
68 Same departure, but the mode is
72 message was sent beforehand:
81 +-------------------------+ +-------------------------+
85 | 3 |------------| --> |------------|------------|
89 +-------------------------+ +-------------------------+
94 Each monitor contains at least one desktop.
96 Each desktop contains at most one tree.
100 Return the value of the given setting.
102 .BI set " SETTING VALUE"
103 Set the value of the given setting.
105 .BI list " [DESKTOP_NAME]"
106 Output the internal representation of the window tree.
108 .BI list_desktops " [--quiet]"
109 Perform a dump of each desktop for the current monitor.
111 .BI list_monitors " [--quiet]"
112 Perform a dump of each monitor.
115 Return the node focus history of each desktop.
118 Return the list of managed windows (i.e. their identifiers).
121 Return the list of rules.
123 .BI presel " left|right|up|down [SPLIT_RATIO]"
124 Switch to manual mode and select the splitting direction.
127 Switch to automatic mode.
130 Set the splitting ratio of the focused window.
132 .BI pad " MONITOR_NAME [TOP_PADDING [RIGHT_PADDING [BOTTOM_PADDING [LEFT_PADDING]]]]"
133 Set the padding of the given monitor.
135 .BI focus " left|right|up|down"
136 Focus the neighbor window situated in the given direction.
138 .BI shift " left|right|up|down"
139 Exchange the current window with the given neighbor.
141 .BI swap " [--keep-focus]"
142 Swap the focused window with the last focused window.
144 .BI push " left|right|up|down"
145 Push the fence located in the given direction.
147 .BI pull " left|right|up|down"
148 Pull the fence located in the given direction.
150 .BI cycle " next|prev [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]"
151 Focus the next or previous window matching the given constraints.
153 .BI nearest " older|newer [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]"
154 Focus the nearest window matching the given constraints.
157 Return the ID of the biggest tiled window.
159 .BI circulate " forward|backward"
160 Circulate the leaves in the given direction.
162 .BI grab_pointer " focus|move|resize_side|resize_corner"
163 Begin the specified pointer action.
165 .BI track_pointer " ROOT_X ROOT_Y"
166 Pass the pointer root coordinates for the current pointer action.
169 End the current pointer action.
171 .BI toggle_fullscreen
172 Toggle the fullscreen state of the current window.
175 Toggle the floating state of the current window.
178 Toggle the locked state of the current window (locked windows will not respond to the
182 .BI toggle_visibility
183 Toggle the visibility of all the managed windows.
186 Close the focused window.
189 Kill the focused window.
191 .BI send_to " DESKTOP_NAME [--follow]"
192 Send the focused window to the given desktop.
194 .BI drop_to " next|prev [--follow]"
195 Send the focused window to the next or previous desktop.
197 .BI send_to_monitor " MONITOR_NAME [--follow]"
198 Send the focused window to the given monitor.
200 .BI drop_to_monitor " next|prev [--follow]"
201 Send the focused window to the next or previous monitor.
203 .BI use " DESKTOP_NAME"
204 Select the given desktop.
206 .BI use_monitor " MONITOR_NAME"
207 Select the given monitor.
210 Alternate between the current and the last focused window.
212 .BI alternate_desktop
213 Alternate between the current and the last focused desktop.
215 .BI alternate_monitor
216 Alternate between the current and the last focused monitor.
218 .BI add " DESKTOP_NAME ..."
219 Make new desktops with the given names.
221 .BI add_in " MONITOR_NAME DESKTOP_NAME ..."
222 Make new desktops with the given names in the given monitor.
224 .BI rename_monitor " CURRENT_NAME NEW_NAME"
225 Rename the monitor named CURRENT_NAME to NEW_NAME.
227 .BI rename " CURRENT_NAME NEW_NAME"
228 Rename the desktop named CURRENT_NAME to NEW_NAME.
230 .BI remove_desktop " DESKTOP_NAME ..."
231 Remove the given desktops.
233 .BI send_desktop_to " MONITOR_NAME"
234 Send the current desktop to the given monitor.
236 .BI cycle_monitor " next|prev"
237 Select the next or previous monitor.
239 .BI cycle_desktop " next|prev [--skip-free|--skip-occupied]"
240 Select the next or previous desktop.
242 .BI layout " monocle|tiled [DESKTOP_NAME ...]"
243 Set the layout of the given desktops (current if none given).
246 Cycle the layout of the current desktop.
248 .BI rotate " clockwise|counter_clockwise|full_cycle"
249 Rotate the window tree.
251 .BI flip " horizontal|vertical"
252 Flip the window tree.
255 Adjust the split ratios so that all windows occupy the same area.
257 .BI rule " PATTERN [DESKTOP_NAME] [floating] [follow]"
258 Create a new rule (PATTERN must match the class or instance name).
260 .BI remove_rule " UID ..."
261 Remove the rules with the given UIDs.
264 Output the current state to the panel fifo.
267 Manage all the unmanaged windows remaining from a previous session.
269 .BI restore_layout " FILE_PATH"
270 Restore the layout of each desktop from the content of FILE_PATH.
272 .BI restore_history " FILE_PATH"
273 Restore the history of each desktop from the content of FILE_PATH.
275 .BI quit " [EXIT_STATUS]"
287 .IR "true " "or " false .
289 .I focused_border_color
290 Color of the border of a focused window of a focused monitor.
292 .I active_border_color
293 Color of the border of a focused window of an unfocused monitor.
295 .I normal_border_color
296 Color of the border of an unfocused window.
298 .I presel_border_color
303 .I focused_locked_border_color
304 Color of the border of a focused locked window of a focused monitor.
306 .I active_locked_border_color
307 Color of the border of a focused locked window of an unfocused monitor.
309 .I normal_locked_border_color
310 Color of the border of an unfocused locked window.
312 .I urgent_border_color
313 Color of the border of an urgent window.
319 Value of the gap that separates windows.
331 Padding space added at the sides of the current monitor.
334 The value that shall be used for the
336 property of the root window.
338 .I borderless_monocle
339 Whether to remove borders for tiled windows in monocle mode.
342 Whether to remove gaps for tiled windows in monocle mode.
344 .I focus_follows_pointer
345 Whether to focus the window under the pointer.
348 Prevent floating windows from being raised when they might cover other floating windows.
350 .I apply_shadow_property
351 Enable shadows for floating windows via the
356 Whether to interpret two consecutive identical
363 Whether to use window or leaf distance for focus movement.
364 .SH ENVIRONMENT VARIABLES
367 The path of the socket used for the communication between
368 .BR bspc " and " bspwm .
371 Bastien Dejean <baskerville at lavabit.com>
374 Ivan Kanakarakis <ivan.kanak at gmail.com>
375 Thomas Adam <thomas at xteddy.org>
379 https://github.com/baskerville/bspwm
382 bspwm at librelist.com