3 bspwm \- Tiling window manager based on binary space partitioning
13 is a tiling window manager where each window is represented as the leaf of a binary tree. It is controlled and configured via
17 have only two sources of informations: the
19 events it receives and the messages it reads on a dedicated socket.
21 Those messages are sent via
26 environment variable is defined, it will be used as the socket path, otherwise
30 The recommended way of defining keyboard shortcuts is to use
31 .BR shkd " or " xbindkeys .
33 The only way to configure
37 messages via the client, hence
39 configuration file is an executable called
42 .IR $XDG_CONFIG_HOME/bspwm/ .
44 There is only two splitting modes:
45 .IR automatic " and " manual .
51 mode is entered by sending a
55 Example: insertion of a new node (number 4) into the given tree in
66 +-------------------------+ +-------------------------+
70 | 3 |------------| --> | 4 |------------|
74 +-------------------------+ +-------------------------+
77 Same departure, but the mode is
81 message was sent beforehand:
89 +-------------------------+ +-------------------------+
93 | 3 |------------| --> |------------|------------|
97 +-------------------------+ +-------------------------+
102 Return the value of the given setting.
104 .BI set " SETTING VALUE"
105 Set the value of the given setting.
107 .BI list " [DESKTOP_NAME]"
108 Output the internal representation of the window tree.
110 .BI list_desktops " [--quiet]"
111 Perform a dump of each desktop for the current monitor.
113 .BI list_monitors " [--quiet]"
114 Perform a dump of each monitor.
117 Return the list of managed windows (i.e. their identifiers).
119 .BI presel " left|right|up|down"
120 Switch to manual mode and select the splitting direction.
123 Switch to automatic mode.
126 Set the splitting ratio of the focused window.
128 .BI pad " MONITOR_NAME [TOP_PADDING [RIGHT_PADDING [BOTTOM_PADDING [LEFT_PADDING]]]]"
129 Set the padding of the given monitor.
131 .BI focus " left|right|up|down"
132 Focus the neighbor window situated in the given direction.
134 .BI shift " left|right|up|down"
135 Exchange the current window with the given neighbor.
137 .BI push " left|right|up|down"
138 Push the fence located in the given direction.
140 .BI pull " left|right|up|down"
141 Pull the fence located in the given direction.
143 .BI cycle " next|prev [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]"
144 Focus the next or previous window matching the given constraints.
146 .BI nearest " older|newer [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]"
147 Focus the nearest window matching the given constraints.
149 .BI circulate " forward|backward"
150 Circulate the leaves in the given direction.
152 .BI toggle_fullscreen
153 Toggle the fullscreen state of the current window.
156 Toggle the floating state of the current window.
159 Toggle the locked state of the current window (locked windows will not respond to the
164 Close the focused window.
167 Kill the focused window.
169 .BI send_to " DESKTOP_NAME"
170 Send the focused window to the given desktop.
172 .BI send_to_monitor " MONITOR_NAME"
173 Send the focused window to the given monitor.
175 .BI use " DESKTOP_NAME"
176 Select the given desktop.
178 .BI use_monitor " MONITOR_NAME"
179 Select the given monitor.
182 Alternate between the current and the last focused window.
184 .BI alternate_desktop
185 Alternate between the current and the last focused desktop.
187 .BI alternate_monitor
188 Alternate between the current and the last focused monitor.
190 .BI add " DESKTOP_NAME ..."
191 Make new desktops with the given names.
193 .BI add_in " MONITOR_NAME DESKTOP_NAME ..."
194 Make new desktops with the given names in the given monitor.
196 .BI rename_monitor " CURRENT_NAME NEW_NAME"
197 Rename the monitor named CURRENT_NAME to NEW_NAME.
199 .BI rename " CURRENT_NAME NEW_NAME"
200 Rename the desktop named CURRENT_NAME to NEW_NAME.
202 .BI cycle_monitor " next|prev"
203 Select the next or previous monitor.
205 .BI cycle_desktop " next|prev [--skip-free|--skip-occupied]"
206 Select the next or previous desktop.
208 .BI layout " monocle|tiled [DESKTOP_NAME ...]"
209 Set the layout of the given desktops (current if none given).
212 Cycle the layout of the current desktop.
214 .BI rotate " clockwise|counter_clockwise|full_cycle"
215 Rotate the tree of the current desktop.
217 .BI rule " PATTERN [DESKTOP_NAME] [floating] "
218 Create a new rule (PATTERN must match the class or instance name).
221 Manage all the unmanaged windows remaining from a previous session.
224 Reload the autostart file.
227 Reload the default settings.
230 Reload the autostart file and the default settings.
244 .IR "true " "or " false .
246 .I focused_border_color
247 Color of the main border of a focused window of a focused monitor.
249 .I active_border_color
250 Color of the main border of a focused window of an unfocused monitor.
252 .I normal_border_color
253 Color of the main border of an unfocused window.
255 .I inner_border_color
256 Color of the inner border of a window.
258 .I outer_border_color
259 Color of the outer border of a window.
261 .I presel_border_color
266 .I focused_locked_border_color
267 Color of the main border of a focused locked window of a focused monitor.
269 .I active_locked_border_color
270 Color of the main border of a focused locked window of an unfocused monitor.
272 .I normal_locked_border_color
273 Color of the main border of an unfocused locked window.
275 .I urgent_border_color
276 Color of the border of an urgent window.
278 .I {inner,main,outer}_border_width
279 Width of the inner, main and outer borders.
282 Value of the gap that separates windows.
284 .I {top,right,bottom,left}_padding
285 Padding space added at the sides of the current monitor.
288 The value that shall be used for the
290 property of the root window.
293 The modifier mask used for mouse bindings (possible values:
294 .BR shift ", " control ", " lock ", " mod1 " ... " mod5 ).
297 The modifier holding Num_Lock (cf.
301 The modifier holding Lock.
303 .I borderless_monocle
304 Whether to remove borders for tiled windows in monocle mode.
307 Whether to remove gaps for tiled windows in monocle mode.
309 .I focus_follows_mouse
310 Wether to focus the window under the mouse pointer.
313 Prevent floating windows from being raised when they might cover other floating windows.
316 Output the status of monitors and desktops on stdout.
319 .I button_modifier + left mouse button
320 Move the window under the pointer.
322 .I button_modifier + middle mouse button
323 Focus the window under the pointer.
325 .I button_modifier + right mouse button
326 Resize the window under the pointer (by moving one of its four corners).
329 Bastien Dejean <baskerville at lavabit.com>
332 Ivan Kanakarakis <ivan.kanak at gmail.com>
336 https://github.com/baskerville/bspwm