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 where each window is represented as the leaf of a 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 through
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 +-------------------------+ +-------------------------+
95 Return the value of the given setting.
97 .BI set " SETTING VALUE"
98 Set the value of the given setting.
100 .BI list " [DESKTOP_NAME]"
101 Output the internal representation of the window tree.
103 .BI list_desktops " [--quiet]"
104 Perform a dump of each desktop for the current monitor.
106 .BI list_monitors " [--quiet]"
107 Perform a dump of each monitor.
110 Return the node focus history of each desktop.
113 Return the list of managed windows (i.e. their identifiers).
116 Return the list of rules.
118 .BI presel " left|right|up|down [SPLIT_RATIO]"
119 Switch to manual mode and select the splitting direction.
122 Switch to automatic mode.
125 Set the splitting ratio of the focused window.
127 .BI pad " MONITOR_NAME [TOP_PADDING [RIGHT_PADDING [BOTTOM_PADDING [LEFT_PADDING]]]]"
128 Set the padding of the given monitor.
130 .BI focus " left|right|up|down"
131 Focus the neighbor window situated in the given direction.
133 .BI shift " left|right|up|down"
134 Exchange the current window with the given neighbor.
136 .BI swap " [biggest|smallest]"
137 Swap the focused window with the biggest/smallest window or with the last focused window if no arguments are given.
139 .BI push " left|right|up|down"
140 Push the fence located in the given direction.
142 .BI pull " left|right|up|down"
143 Pull the fence located in the given direction.
145 .BI cycle " next|prev [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]"
146 Focus the next or previous window matching the given constraints.
148 .BI nearest " older|newer [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]"
149 Focus the nearest window matching the given constraints.
151 .BI circulate " forward|backward"
152 Circulate the leaves in the given direction.
154 .BI grab_pointer " focus|move|resize_side|resize_corner"
155 Begin the specified pointer action.
157 .BI track_pointer " ROOT_X ROOT_Y"
158 Pass the pointer root coordinates for the current pointer action.
161 End the current pointer action.
163 .BI toggle_fullscreen
164 Toggle the fullscreen state of the current window.
167 Toggle the floating state of the current window.
170 Toggle the locked state of the current window (locked windows will not respond to the
174 .BI toggle_visibility
175 Toggle the visibility of all the managed windows.
178 Close the focused window.
181 Kill the focused window.
183 .BI send_to " DESKTOP_NAME [--follow]"
184 Send the focused window to the given desktop.
186 .BI drop_to " next|prev [--follow]"
187 Send the focused window to the next or previous desktop.
189 .BI send_to_monitor " MONITOR_NAME [--follow]"
190 Send the focused window to the given monitor.
192 .BI drop_to_monitor " next|prev [--follow]"
193 Send the focused window to the next or previous monitor.
195 .BI use " DESKTOP_NAME"
196 Select the given desktop.
198 .BI use_monitor " MONITOR_NAME"
199 Select the given monitor.
202 Alternate between the current and the last focused window.
204 .BI alternate_desktop
205 Alternate between the current and the last focused desktop.
207 .BI alternate_monitor
208 Alternate between the current and the last focused monitor.
210 .BI add " DESKTOP_NAME ..."
211 Make new desktops with the given names.
213 .BI add_in " MONITOR_NAME DESKTOP_NAME ..."
214 Make new desktops with the given names in the given monitor.
216 .BI rename_monitor " CURRENT_NAME NEW_NAME"
217 Rename the monitor named CURRENT_NAME to NEW_NAME.
219 .BI rename " CURRENT_NAME NEW_NAME"
220 Rename the desktop named CURRENT_NAME to NEW_NAME.
222 .BI cycle_monitor " next|prev"
223 Select the next or previous monitor.
225 .BI cycle_desktop " next|prev [--skip-free|--skip-occupied]"
226 Select the next or previous desktop.
228 .BI layout " monocle|tiled [DESKTOP_NAME ...]"
229 Set the layout of the given desktops (current if none given).
232 Cycle the layout of the current desktop.
234 .BI rotate " clockwise|counter_clockwise|full_cycle"
235 Rotate the window tree.
237 .BI flip " horizontal|vertical"
238 Flip the window tree.
241 Adjust the split ratios so that all windows occupy the same area.
243 .BI rule " PATTERN [DESKTOP_NAME] [floating] [follow]"
244 Create a new rule (PATTERN must match the class or instance name).
246 .BI remove_rule " UID ..."
247 Remove the rules with the given UIDs.
250 Output the current state to the panel fifo.
253 Manage all the unmanaged windows remaining from a previous session.
255 .BI restore_layout " FILE_PATH"
256 Restore the layout of each desktop from the content of FILE_PATH.
258 .BI restore_history " FILE_PATH"
259 Restore the history of each desktop from the content of FILE_PATH.
261 .BI quit " [EXIT_STATUS]"
273 .IR "true " "or " false .
275 .I focused_border_color
276 Color of the border of a focused window of a focused monitor.
278 .I active_border_color
279 Color of the border of a focused window of an unfocused monitor.
281 .I normal_border_color
282 Color of the border of an unfocused window.
284 .I presel_border_color
289 .I focused_locked_border_color
290 Color of the border of a focused locked window of a focused monitor.
292 .I active_locked_border_color
293 Color of the border of a focused locked window of an unfocused monitor.
295 .I normal_locked_border_color
296 Color of the border of an unfocused locked window.
298 .I urgent_border_color
299 Color of the border of an urgent window.
305 Value of the gap that separates windows.
317 Padding space added at the sides of the current monitor.
320 The value that shall be used for the
322 property of the root window.
324 .I borderless_monocle
325 Whether to remove borders for tiled windows in monocle mode.
328 Whether to remove gaps for tiled windows in monocle mode.
330 .I focus_follows_pointer
331 Whether to focus the window under the pointer.
334 Prevent floating windows from being raised when they might cover other floating windows.
336 .I apply_shadow_property
337 Enable shadows for floating windows via the
342 Whether to interpret two consecutive identical
349 Whether to use window or leaf distance for focus movement.
350 .SH ENVIRONMENT VARIABLES
353 The path of the socket used for the communication between
354 .BR bspc " and " bspwm .
357 Bastien Dejean <baskerville at lavabit.com>
360 Ivan Kanakarakis <ivan.kanak at gmail.com>
361 Thomas Adam <thomas at xteddy.org>
365 https://github.com/baskerville/bspwm
368 bspwm at librelist.com