]> git.lizzy.rs Git - bspwm.git/blob - bspwm.1
c2bc7a8f486413b9d648b1d393b9dcabc2422ef4
[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 shkd " or " xbindkeys .
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
59                  b                                   c
60                 / \\                                 / \\
61                3   a              -->              4   b
62                ^  / \\                              ^  / \\
63                  2   1                               3   a
64                                                         / \\
65                                                        2   1
66     +-------------------------+         +-------------------------+
67     |            |            |         |            |            |
68     |            |     2      |         |            |     3      |
69     |            |            |         |            |            |
70     |     3      |------------|   -->   |     4      |------------|
71     |     ^      |            |         |     ^      |     |      |
72     |            |     1      |         |            |  1  |  2   |
73     |            |            |         |            |     |      |
74     +-------------------------+         +-------------------------+
75
76 .P
77 Same departure, but the mode is
78 .IR manual ,
79 and a
80 .BI presel " up"
81 message was sent beforehand:
82
83                  b                                   b
84                 / \\                                 / \\
85                3   a              -->              c   a
86                ^  / \\                             / \\ / \\
87                  2   1                           4  3 2  1
88                                                  ^
89     +-------------------------+         +-------------------------+
90     |            |            |         |            |            |
91     |            |     2      |         |     4      |     2      |
92     |            |            |         |     ^      |            |
93     |     3      |------------|   -->   |------------|------------|
94     |     ^      |            |         |            |            |
95     |            |     1      |         |     3      |     1      |
96     |            |            |         |            |            |
97     +-------------------------+         +-------------------------+
98
99 .SH MESSAGES
100 .TP
101 .BI get " SETTING"
102 Return the value of the given setting.
103 .TP
104 .BI set " SETTING VALUE"
105 Set the value of the given setting.
106 .TP
107 .BI list " [DESKTOP_NAME]"
108 Output the internal representation of the window tree.
109 .TP
110 .BI list_desktops " [--quiet]"
111 Perform a dump of each desktop for the current monitor.
112 .TP
113 .BI list_monitors " [--quiet]"
114 Perform a dump of each monitor.
115 .TP
116 .BI list_windows
117 Return the list of managed windows (i.e. their identifiers).
118 .TP
119 .BI list_rules
120 Return the list of rules.
121 .TP
122 .BI presel " left|right|up|down [SPLIT_RATIO]"
123 Switch to manual mode and select the splitting direction.
124 .TP
125 .BI cancel
126 Switch to automatic mode.
127 .TP
128 .BI ratio " VALUE"
129 Set the splitting ratio of the focused window.
130 .TP
131 .BI pad " MONITOR_NAME [TOP_PADDING [RIGHT_PADDING [BOTTOM_PADDING [LEFT_PADDING]]]]"
132 Set the padding of the given monitor.
133 .TP
134 .BI focus " left|right|up|down"
135 Focus the neighbor window situated in the given direction.
136 .TP
137 .BI shift " left|right|up|down"
138 Exchange the current window with the given neighbor.
139 .TP
140 .BI push " left|right|up|down"
141 Push the fence located in the given direction.
142 .TP
143 .BI pull " left|right|up|down"
144 Pull the fence located in the given direction.
145 .TP
146 .BI cycle " next|prev [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]"
147 Focus the next or previous window matching the given constraints.
148 .TP
149 .BI nearest " older|newer [--skip-floating|--skip-tiled|--skip-class-equal|--skip-class-differ]"
150 Focus the nearest window matching the given constraints.
151 .TP
152 .BI circulate " forward|backward"
153 Circulate the leaves in the given direction.
154 .TP
155 .BI toggle_fullscreen
156 Toggle the fullscreen state of the current window.
157 .TP
158 .BI toggle_floating
159 Toggle the floating state of the current window.
160 .TP
161 .BI toggle_locked
162 Toggle the locked state of the current window (locked windows will not respond to the
163 .B close
164 message).
165 .TP
166 .BI toggle_visibility
167 Toggle the visibility of all the managed windows.
168 .TP
169 .BI close
170 Close the focused window.
171 .TP
172 .BI kill
173 Kill the focused window.
174 .TP
175 .BI send_to " DESKTOP_NAME [--follow]"
176 Send the focused window to the given desktop.
177 .TP
178 .BI send_to_monitor " MONITOR_NAME [--follow]"
179 Send the focused window to the given monitor.
180 .TP
181 .BI use " DESKTOP_NAME"
182 Select the given desktop.
183 .TP
184 .BI use_monitor " MONITOR_NAME"
185 Select the given monitor.
186 .TP
187 .BI alternate
188 Alternate between the current and the last focused window.
189 .TP
190 .BI alternate_desktop
191 Alternate between the current and the last focused desktop.
192 .TP
193 .BI alternate_monitor
194 Alternate between the current and the last focused monitor.
195 .TP
196 .BI add " DESKTOP_NAME ..."
197 Make new desktops with the given names.
198 .TP
199 .BI add_in " MONITOR_NAME DESKTOP_NAME ..."
200 Make new desktops with the given names in the given monitor.
201 .TP
202 .BI rename_monitor " CURRENT_NAME NEW_NAME"
203 Rename the monitor named CURRENT_NAME to NEW_NAME.
204 .TP
205 .BI rename " CURRENT_NAME NEW_NAME"
206 Rename the desktop named CURRENT_NAME to NEW_NAME.
207 .TP
208 .BI cycle_monitor " next|prev"
209 Select the next or previous monitor.
210 .TP
211 .BI cycle_desktop " next|prev [--skip-free|--skip-occupied]"
212 Select the next or previous desktop.
213 .TP
214 .BI layout " monocle|tiled [DESKTOP_NAME ...]"
215 Set the layout of the given desktops (current if none given).
216 .TP
217 .BI cycle_layout
218 Cycle the layout of the current desktop.
219 .TP
220 .BI rotate " clockwise|counter_clockwise|full_cycle"
221 Rotate the tree of the current desktop.
222 .TP
223 .BI rule " PATTERN [DESKTOP_NAME] [floating] "
224 Create a new rule (PATTERN must match the class or instance name).
225 .TP
226 .BI adopt_orphans
227 Manage all the unmanaged windows remaining from a previous session.
228 .TP
229 .BI reload_autostart
230 Reload the autostart file.
231 .TP
232 .BI reload_settings
233 Reload the default settings.
234 .TP
235 .BI quit " [EXIT_STATUS]"
236 Quit.
237 .SH SETTINGS
238 Colors are either
239 .B X
240 color names (cf.
241 .I COLOR NAMES
242 in
243 .BR X (7))
244 or
245 .I #RRGGBB
246 , booleans are
247 .IR "true " "or " false .
248 .TP
249 .I focused_border_color
250 Color of the main border of a focused window of a focused monitor.
251 .TP
252 .I active_border_color
253 Color of the main border of a focused window of an unfocused monitor.
254 .TP
255 .I normal_border_color
256 Color of the main border of an unfocused window.
257 .TP
258 .I inner_border_color
259 Color of the inner border of a window.
260 .TP
261 .I outer_border_color
262 Color of the outer border of a window.
263 .TP
264 .I presel_border_color
265 Color of the
266 .B presel
267 message feedback.
268 .TP
269 .I focused_locked_border_color
270 Color of the main border of a focused locked window of a focused monitor.
271 .TP
272 .I active_locked_border_color
273 Color of the main border of a focused locked window of an unfocused monitor.
274 .TP
275 .I normal_locked_border_color
276 Color of the main border of an unfocused locked window.
277 .TP
278 .I urgent_border_color
279 Color of the border of an urgent window.
280 .TP
281 .I {inner,main,outer}_border_width
282 Width of the inner, main and outer borders.
283 .TP
284 .I window_gap
285 Value of the gap that separates windows.
286 .TP
287 .I {top,right,bottom,left}_padding
288 Padding space added at the sides of the current monitor.
289 .TP
290 .I wm_name
291 The value that shall be used for the
292 .B _NET_WM_NAME
293 property of the root window.
294 .TP
295 .I button_modifier
296 The modifier mask used for mouse bindings (possible values:
297 .BR shift ", " control ", " lock ", " mod1 " ... " mod5 ).
298 .TP
299 .I numlock_modifier
300 The modifier holding Num_Lock (cf.
301 .BR xmodmap (1)).
302 .TP
303 .I capslock_modifier
304 The modifier holding Lock.
305 .TP
306 .I borderless_monocle
307 Whether to remove borders for tiled windows in monocle mode.
308 .TP
309 .I gapless_monocle
310 Whether to remove gaps for tiled windows in monocle mode.
311 .TP
312 .I focus_follows_mouse
313 Wether to focus the window under the mouse pointer.
314 .TP
315 .I adaptative_raise
316 Prevent floating windows from being raised when they might cover other floating windows.
317 .SH MOUSE BINDINGS
318 .TP
319 .I button_modifier + left mouse button
320 Move the window under the pointer.
321 .TP
322 .I button_modifier + middle mouse button
323 Focus the window under the pointer.
324 .TP
325 .I button_modifier + right mouse button
326 Resize the window under the pointer (by moving one of its four corners).
327 .SH AUTHOR
328 .EX
329 Bastien Dejean <baskerville at lavabit.com>
330 .SH CONTRIBUTORS
331 .EX
332 Ivan Kanakarakis <ivan.kanak at gmail.com>
333 .EE
334 .SH HOMEPAGE
335 .TP
336 https://github.com/baskerville/bspwm
337 .SH MAILING LIST
338 .TP
339 bspwm at librelist.com
340 .SH SEE ALSO
341 .BR monsterwm (1),
342 .BR tmux (1).