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