]> git.lizzy.rs Git - bspwm.git/blob - bspwm.1
New setting: `split_ratio`
[bspwm.git] / bspwm.1
1 .TH BSPWM 1 bspwm
2 .SH NAME
3 bspwm \- Tiling window manager based on binary space partitioning
4 .SH SYNOPSIS
5 .B bspwm
6 .RI [ -h | -v | "-s PANEL_FIFO" | "-p PANEL_PREFIX" ]
7 .P
8 .BI bspc " MESSAGE"
9 .RI [ ARGUMENTS ]
10 .RI [ OPTIONS ]
11 .SH DESCRIPTION
12 .B bspwm
13 is a tiling window manager where each window is represented as the leaf of a binary tree.
14 .P
15 It is controlled and configured via
16 .BR bspc .
17 .SH CONFIGURATION
18 .B bspwm
19 have only two sources of informations: the
20 .B X
21 events it receives and the messages it reads on a dedicated socket.
22 .P
23 Its configuration file is
24 .IR $XDG_CONFIG_HOME/bspwm/autostart .
25 .P
26 Keyboard and pointer bindings are defined through
27 .BR sxhkd .
28 .P
29 Example configuration files can be found in the
30 .I examples
31 directory.
32 .SH SPLITTING MODES
33 There is only two splitting modes:
34 .IR automatic " and " manual .
35 .P
36 The default mode is
37 .IR automatic .
38 The
39 .I manual
40 mode is entered by sending a
41 .B presel
42 message.
43 .P
44 Example: insertion of a new node (number 4) into the given tree in
45 .I automatic
46 mode:
47 .EX
48
49                  b                                   c
50                 / \\                                 / \\
51                3   a              -->              4   b
52                ^  / \\                              ^  / \\
53                  2   1                               3   a
54                                                         / \\
55                                                        2   1
56     +-------------------------+         +-------------------------+
57     |            |            |         |            |            |
58     |            |     2      |         |            |     3      |
59     |            |            |         |            |            |
60     |     3      |------------|   -->   |     4      |------------|
61     |     ^      |            |         |     ^      |     |      |
62     |            |     1      |         |            |  1  |  2   |
63     |            |            |         |            |     |      |
64     +-------------------------+         +-------------------------+
65
66 .EE
67 .P
68 Same departure, but the mode is
69 .IR manual ,
70 and a
71 .BI presel " up"
72 message was sent beforehand:
73 .EX
74
75                  b                                   b
76                 / \\                                 / \\
77                3   a              -->              c   a
78                ^  / \\                             / \\ / \\
79                  2   1                           4  3 2  1
80                                                  ^
81     +-------------------------+         +-------------------------+
82     |            |            |         |            |            |
83     |            |     2      |         |     4      |     2      |
84     |            |            |         |     ^      |            |
85     |     3      |------------|   -->   |------------|------------|
86     |     ^      |            |         |            |            |
87     |            |     1      |         |     3      |     1      |
88     |            |            |         |            |            |
89     +-------------------------+         +-------------------------+
90
91 .EE
92 .SH MESSAGES
93 .TP
94 .BI get " SETTING"
95 Return the value of the given setting.
96 .TP
97 .BI set " SETTING VALUE"
98 Set the value of the given setting.
99 .TP
100 .BI list " [DESKTOP_NAME]"
101 Output the internal representation of the window tree.
102 .TP
103 .BI list_desktops " [--quiet]"
104 Perform a dump of each desktop for the current monitor.
105 .TP
106 .BI list_monitors " [--quiet]"
107 Perform a dump of each monitor.
108 .TP
109 .BI list_windows
110 Return the list of managed windows (i.e. their identifiers).
111 .TP
112 .BI list_rules
113 Return the list of rules.
114 .TP
115 .BI presel " left|right|up|down [SPLIT_RATIO]"
116 Switch to manual mode and select the splitting direction.
117 .TP
118 .BI cancel
119 Switch to automatic mode.
120 .TP
121 .BI ratio " VALUE"
122 Set the splitting ratio of the focused window.
123 .TP
124 .BI pad " MONITOR_NAME [TOP_PADDING [RIGHT_PADDING [BOTTOM_PADDING [LEFT_PADDING]]]]"
125 Set the padding of the given monitor.
126 .TP
127 .BI focus " left|right|up|down"
128 Focus the neighbor window situated in the given direction.
129 .TP
130 .BI shift " left|right|up|down"
131 Exchange the current window with the given neighbor.
132 .TP
133 .BI swap " [biggest|smallest]"
134 Swap the focused window with the biggest/smallest window or with the last focused window if no arguments are given.
135 .TP
136 .BI push " left|right|up|down"
137 Push the fence located in the given direction.
138 .TP
139 .BI pull " left|right|up|down"
140 Pull the fence located in the given direction.
141 .TP
142 .BI cycle " next|prev [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]"
143 Focus the next or previous window matching the given constraints.
144 .TP
145 .BI nearest " older|newer [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]"
146 Focus the nearest window matching the given constraints.
147 .TP
148 .BI circulate " forward|backward"
149 Circulate the leaves in the given direction.
150 .TP
151 .BI grab_pointer " focus|move|resize_side|resize_corner"
152 Begin the specified pointer action.
153 .TP
154 .BI track_pointer " ROOT_X ROOT_Y"
155 Pass the pointer root coordinates for the current pointer action.
156 .TP
157 .BI ungrab_pointer
158 End the current pointer action.
159 .TP
160 .BI toggle_fullscreen
161 Toggle the fullscreen state of the current window.
162 .TP
163 .BI toggle_floating
164 Toggle the floating state of the current window.
165 .TP
166 .BI toggle_locked
167 Toggle the locked state of the current window (locked windows will not respond to the
168 .B close
169 message).
170 .TP
171 .BI toggle_visibility
172 Toggle the visibility of all the managed windows.
173 .TP
174 .BI close
175 Close the focused window.
176 .TP
177 .BI kill
178 Kill the focused window.
179 .TP
180 .BI send_to " DESKTOP_NAME [--follow]"
181 Send the focused window to the given desktop.
182 .TP
183 .BI drop_to " next|prev [--follow]"
184 Send the focused window to the next or previous desktop.
185 .TP
186 .BI send_to_monitor " MONITOR_NAME [--follow]"
187 Send the focused window to the given monitor.
188 .TP
189 .BI drop_to_monitor " next|prev [--follow]"
190 Send the focused window to the next or previous monitor.
191 .TP
192 .BI use " DESKTOP_NAME"
193 Select the given desktop.
194 .TP
195 .BI use_monitor " MONITOR_NAME"
196 Select the given monitor.
197 .TP
198 .BI alternate
199 Alternate between the current and the last focused window.
200 .TP
201 .BI alternate_desktop
202 Alternate between the current and the last focused desktop.
203 .TP
204 .BI alternate_monitor
205 Alternate between the current and the last focused monitor.
206 .TP
207 .BI add " DESKTOP_NAME ..."
208 Make new desktops with the given names.
209 .TP
210 .BI add_in " MONITOR_NAME DESKTOP_NAME ..."
211 Make new desktops with the given names in the given monitor.
212 .TP
213 .BI rename_monitor " CURRENT_NAME NEW_NAME"
214 Rename the monitor named CURRENT_NAME to NEW_NAME.
215 .TP
216 .BI rename " CURRENT_NAME NEW_NAME"
217 Rename the desktop named CURRENT_NAME to NEW_NAME.
218 .TP
219 .BI cycle_monitor " next|prev"
220 Select the next or previous monitor.
221 .TP
222 .BI cycle_desktop " next|prev [--skip-free|--skip-occupied]"
223 Select the next or previous desktop.
224 .TP
225 .BI layout " monocle|tiled [DESKTOP_NAME ...]"
226 Set the layout of the given desktops (current if none given).
227 .TP
228 .BI cycle_layout
229 Cycle the layout of the current desktop.
230 .TP
231 .BI rotate " clockwise|counter_clockwise|full_cycle"
232 Rotate the window tree.
233 .TP
234 .BI flip " horizontal|vertical"
235 Flip the window tree.
236 .TP
237 .B balance
238 Adjust the split ratios so that all windows occupy the same area.
239 .TP
240 .BI rule " PATTERN [DESKTOP_NAME] [floating] [follow]"
241 Create a new rule (PATTERN must match the class or instance name).
242 .TP
243 .BI remove_rule " UID ..."
244 Remove the rules with the given UIDs.
245 .TP
246 .BI adopt_orphans
247 Manage all the unmanaged windows remaining from a previous session.
248 .TP
249 .BI restore " FILE_PATH"
250 Restore the layout of each desktop from the content of FILE_PATH.
251 .TP
252 .BI quit " [EXIT_STATUS]"
253 Quit.
254 .SH SETTINGS
255 Colors are either
256 .B X
257 color names (cf.
258 .I COLOR NAMES
259 in
260 .BR X (7))
261 or
262 .I #RRGGBB
263 , booleans are
264 .IR "true " "or " false .
265 .TP
266 .I focused_border_color
267 Color of the border of a focused window of a focused monitor.
268 .TP
269 .I active_border_color
270 Color of the border of a focused window of an unfocused monitor.
271 .TP
272 .I normal_border_color
273 Color of the border of an unfocused window.
274 .TP
275 .I presel_border_color
276 Color of the
277 .B presel
278 message feedback.
279 .TP
280 .I focused_locked_border_color
281 Color of the border of a focused locked window of a focused monitor.
282 .TP
283 .I active_locked_border_color
284 Color of the border of a focused locked window of an unfocused monitor.
285 .TP
286 .I normal_locked_border_color
287 Color of the border of an unfocused locked window.
288 .TP
289 .I urgent_border_color
290 Color of the border of an urgent window.
291 .TP
292 .I border_width
293 Window border width.
294 .TP
295 .I window_gap
296 Value of the gap that separates windows.
297 .TP
298 .I split_ratio
299 Default split ratio.
300 .TP
301 .I top_padding
302 .TQ
303 .I right_padding
304 .TQ
305 .I bottom_padding
306 .TQ
307 .I left_padding
308 Padding space added at the sides of the current monitor.
309 .TP
310 .I wm_name
311 The value that shall be used for the
312 .B _NET_WM_NAME
313 property of the root window.
314 .TP
315 .I borderless_monocle
316 Whether to remove borders for tiled windows in monocle mode.
317 .TP
318 .I gapless_monocle
319 Whether to remove gaps for tiled windows in monocle mode.
320 .TP
321 .I focus_follows_pointer
322 Whether to focus the window under the pointer.
323 .TP
324 .I adaptative_raise
325 Prevent floating windows from being raised when they might cover other floating windows.
326 .TP
327 .I apply_shadow_property
328 Enable shadows for floating windows via the
329 .B _COMPTON_SHADOW
330 property.
331 .TP
332 .I auto_alernate
333 Whether to interpret two consecutive identical
334 .B use
335 messages as an
336 .B alternate
337 message.
338 .SH ENVIRONMENT VARIABLES
339 .TP
340 .I BSPWM_SOCKET
341 The path of the socket used for the communication between
342 .BR bspc " and " bspwm .
343 .SH AUTHOR
344 .EX
345 Bastien Dejean <baskerville at lavabit.com>
346 .SH CONTRIBUTORS
347 .EX
348 Ivan Kanakarakis <ivan.kanak at gmail.com>
349 Thomas Adam <thomas at xteddy.org>
350 .EE
351 .SH HOMEPAGE
352 .TP
353 https://github.com/baskerville/bspwm
354 .SH MAILING LIST
355 .TP
356 bspwm at librelist.com
357 .SH SEE ALSO
358 .BR monsterwm (1),
359 .BR tmux (1).