]> git.lizzy.rs Git - bspwm.git/blob - bspwm.1
New message: `biggest`
[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_history
110 Return the node focus history of each desktop.
111 .TP
112 .BI list_windows
113 Return the list of managed windows (i.e. their identifiers).
114 .TP
115 .BI list_rules
116 Return the list of rules.
117 .TP
118 .BI presel " left|right|up|down [SPLIT_RATIO]"
119 Switch to manual mode and select the splitting direction.
120 .TP
121 .BI cancel
122 Switch to automatic mode.
123 .TP
124 .BI ratio " VALUE"
125 Set the splitting ratio of the focused window.
126 .TP
127 .BI pad " MONITOR_NAME [TOP_PADDING [RIGHT_PADDING [BOTTOM_PADDING [LEFT_PADDING]]]]"
128 Set the padding of the given monitor.
129 .TP
130 .BI focus " left|right|up|down"
131 Focus the neighbor window situated in the given direction.
132 .TP
133 .BI shift " left|right|up|down"
134 Exchange the current window with the given neighbor.
135 .TP
136 .BI swap
137 Swap the focused window with the last focused window.
138 .TP
139 .BI push " left|right|up|down"
140 Push the fence located in the given direction.
141 .TP
142 .BI pull " left|right|up|down"
143 Pull the fence located in the given direction.
144 .TP
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.
147 .TP
148 .BI nearest " older|newer [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]"
149 Focus the nearest window matching the given constraints.
150 .TP
151 .BI biggest
152 Return the ID of the biggest tiled window.
153 .TP
154 .BI circulate " forward|backward"
155 Circulate the leaves in the given direction.
156 .TP
157 .BI grab_pointer " focus|move|resize_side|resize_corner"
158 Begin the specified pointer action.
159 .TP
160 .BI track_pointer " ROOT_X ROOT_Y"
161 Pass the pointer root coordinates for the current pointer action.
162 .TP
163 .BI ungrab_pointer
164 End the current pointer action.
165 .TP
166 .BI toggle_fullscreen
167 Toggle the fullscreen state of the current window.
168 .TP
169 .BI toggle_floating
170 Toggle the floating state of the current window.
171 .TP
172 .BI toggle_locked
173 Toggle the locked state of the current window (locked windows will not respond to the
174 .B close
175 message).
176 .TP
177 .BI toggle_visibility
178 Toggle the visibility of all the managed windows.
179 .TP
180 .BI close
181 Close the focused window.
182 .TP
183 .BI kill
184 Kill the focused window.
185 .TP
186 .BI send_to " DESKTOP_NAME [--follow]"
187 Send the focused window to the given desktop.
188 .TP
189 .BI drop_to " next|prev [--follow]"
190 Send the focused window to the next or previous desktop.
191 .TP
192 .BI send_to_monitor " MONITOR_NAME [--follow]"
193 Send the focused window to the given monitor.
194 .TP
195 .BI drop_to_monitor " next|prev [--follow]"
196 Send the focused window to the next or previous monitor.
197 .TP
198 .BI use " DESKTOP_NAME"
199 Select the given desktop.
200 .TP
201 .BI use_monitor " MONITOR_NAME"
202 Select the given monitor.
203 .TP
204 .BI alternate
205 Alternate between the current and the last focused window.
206 .TP
207 .BI alternate_desktop
208 Alternate between the current and the last focused desktop.
209 .TP
210 .BI alternate_monitor
211 Alternate between the current and the last focused monitor.
212 .TP
213 .BI add " DESKTOP_NAME ..."
214 Make new desktops with the given names.
215 .TP
216 .BI add_in " MONITOR_NAME DESKTOP_NAME ..."
217 Make new desktops with the given names in the given monitor.
218 .TP
219 .BI rename_monitor " CURRENT_NAME NEW_NAME"
220 Rename the monitor named CURRENT_NAME to NEW_NAME.
221 .TP
222 .BI rename " CURRENT_NAME NEW_NAME"
223 Rename the desktop named CURRENT_NAME to NEW_NAME.
224 .TP
225 .BI cycle_monitor " next|prev"
226 Select the next or previous monitor.
227 .TP
228 .BI cycle_desktop " next|prev [--skip-free|--skip-occupied]"
229 Select the next or previous desktop.
230 .TP
231 .BI layout " monocle|tiled [DESKTOP_NAME ...]"
232 Set the layout of the given desktops (current if none given).
233 .TP
234 .BI cycle_layout
235 Cycle the layout of the current desktop.
236 .TP
237 .BI rotate " clockwise|counter_clockwise|full_cycle"
238 Rotate the window tree.
239 .TP
240 .BI flip " horizontal|vertical"
241 Flip the window tree.
242 .TP
243 .B balance
244 Adjust the split ratios so that all windows occupy the same area.
245 .TP
246 .BI rule " PATTERN [DESKTOP_NAME] [floating] [follow]"
247 Create a new rule (PATTERN must match the class or instance name).
248 .TP
249 .BI remove_rule " UID ..."
250 Remove the rules with the given UIDs.
251 .TP
252 .BI put_status
253 Output the current state to the panel fifo.
254 .TP
255 .BI adopt_orphans
256 Manage all the unmanaged windows remaining from a previous session.
257 .TP
258 .BI restore_layout " FILE_PATH"
259 Restore the layout of each desktop from the content of FILE_PATH.
260 .TP
261 .BI restore_history " FILE_PATH"
262 Restore the history of each desktop from the content of FILE_PATH.
263 .TP
264 .BI quit " [EXIT_STATUS]"
265 Quit.
266 .SH SETTINGS
267 Colors are either
268 .B X
269 color names (cf.
270 .I COLOR NAMES
271 in
272 .BR X (7))
273 or
274 .I #RRGGBB
275 , booleans are
276 .IR "true " "or " false .
277 .TP
278 .I focused_border_color
279 Color of the border of a focused window of a focused monitor.
280 .TP
281 .I active_border_color
282 Color of the border of a focused window of an unfocused monitor.
283 .TP
284 .I normal_border_color
285 Color of the border of an unfocused window.
286 .TP
287 .I presel_border_color
288 Color of the
289 .B presel
290 message feedback.
291 .TP
292 .I focused_locked_border_color
293 Color of the border of a focused locked window of a focused monitor.
294 .TP
295 .I active_locked_border_color
296 Color of the border of a focused locked window of an unfocused monitor.
297 .TP
298 .I normal_locked_border_color
299 Color of the border of an unfocused locked window.
300 .TP
301 .I urgent_border_color
302 Color of the border of an urgent window.
303 .TP
304 .I border_width
305 Window border width.
306 .TP
307 .I window_gap
308 Value of the gap that separates windows.
309 .TP
310 .I split_ratio
311 Default split ratio.
312 .TP
313 .I top_padding
314 .TQ
315 .I right_padding
316 .TQ
317 .I bottom_padding
318 .TQ
319 .I left_padding
320 Padding space added at the sides of the current monitor.
321 .TP
322 .I wm_name
323 The value that shall be used for the
324 .B _NET_WM_NAME
325 property of the root window.
326 .TP
327 .I borderless_monocle
328 Whether to remove borders for tiled windows in monocle mode.
329 .TP
330 .I gapless_monocle
331 Whether to remove gaps for tiled windows in monocle mode.
332 .TP
333 .I focus_follows_pointer
334 Whether to focus the window under the pointer.
335 .TP
336 .I adaptative_raise
337 Prevent floating windows from being raised when they might cover other floating windows.
338 .TP
339 .I apply_shadow_property
340 Enable shadows for floating windows via the
341 .B _COMPTON_SHADOW
342 property.
343 .TP
344 .I auto_alernate
345 Whether to interpret two consecutive identical
346 .B use
347 messages as an
348 .B alternate
349 message.
350 .TP
351 .I focus_by_distance
352 Whether to use window or leaf distance for focus movement.
353 .SH ENVIRONMENT VARIABLES
354 .TP
355 .I BSPWM_SOCKET
356 The path of the socket used for the communication between
357 .BR bspc " and " bspwm .
358 .SH AUTHOR
359 .EX
360 Bastien Dejean <baskerville at lavabit.com>
361 .SH CONTRIBUTORS
362 .EX
363 Ivan Kanakarakis <ivan.kanak at gmail.com>
364 Thomas Adam <thomas at xteddy.org>
365 .EE
366 .SH HOMEPAGE
367 .TP
368 https://github.com/baskerville/bspwm
369 .SH MAILING LIST
370 .TP
371 bspwm at librelist.com
372 .SH SEE ALSO
373 .BR monsterwm (1),
374 .BR tmux (1).