aboutsummaryrefslogtreecommitdiffstats
path: root/sway/sway.5.txt
diff options
context:
space:
mode:
Diffstat (limited to 'sway/sway.5.txt')
-rw-r--r--sway/sway.5.txt544
1 files changed, 0 insertions, 544 deletions
diff --git a/sway/sway.5.txt b/sway/sway.5.txt
deleted file mode 100644
index 704bb699..00000000
--- a/sway/sway.5.txt
+++ /dev/null
@@ -1,544 +0,0 @@
1/////
2vim:set ts=4 sw=4 tw=82 noet:
3/////
4sway (5)
5========
6
7Name
8----
9sway - configuration file and commands
10
11Description
12-----------
13
14A sway configuration file is a list of sway commands that are executed by sway
15on startup. These commands usually consist of setting your preferences and
16setting key bindings. An example config is likely present in /etc/sway/config
17for you to check out.
18
19Lines in the configuration file might be extended through multiple lines by
20adding a '\' character at the end of line. e.g.:
21
22 bindsym Shift+XF86AudioRaiseVolume exec pactl set-sink-volume \
23 $(pactl list sinks | grep -B 1 RUNNING | sed '1q;d' | sed 's/[^0-9]\+//g') +5%
24
25These commands can be executed in your config file, via **swaymsg**(1), or via
26the bindsym command.
27
28Commands
29--------
30
31The following commands may only be used in the configuration file.
32
33**bar** <block of commands>::
34 Append _{_ to this command, the following lines will be commands that
35 configure **swaybar**, and _}_ on its own line to close the block.
36 +
37 See **sway-bar**(5) for details.
38
39**default_orientation** <horizontal|vertical|auto>::
40 Sets the default container layout for tiled containers.
41
42**set** <name> <value>::
43 Sets variable $name to _value_. You can use the new variable in the arguments
44 of future commands.
45
46**swaybg_command** <command>::
47 Executes custom bg command, default is _swaybg_.
48
49The following commands cannot be used directly in the configuration file.
50They are expected to be used with **bindsym** or at runtime through **swaymsg**(1).
51
52**border** <normal|pixel> [<n>]::
53 Set border style for focused window. _normal_ includes a border of thickness
54 _n_ and a title bar. _pixel_ is a border without title bar _n_ pixels thick.
55 Default is _normal_ with border thickness 2.
56
57**border** <none|toggle>::
58 Set border style for focused window to _none_ or _toggle_ between the
59 available border styles: _normal_, _pixel_, _none_.
60
61**exit**::
62 Exit sway and end your Wayland session.
63
64**floating** <enable|disable|toggle>::
65 Make focused view floating, non-floating, or the opposite of what it is now.
66
67**focus** <direction>::
68 Direction may be one of _up_, _down_, _left_, _right_, _next_, _prev_,
69 _parent_, or _child_. The directional focus commands will move the focus
70 in that direction. The _next_ and _prev_ directions will focus the next,
71 respectively previous, element in the current container. The parent
72 focus command will change the focus to the parent of the currently
73 focused container, which is useful, for example, to open a sibling of
74 the parent container, or to move the entire container around.
75
76**focus** output <direction|name>::
77 Direction may be one of _up_, _down_, _left_, _right_. The directional focus
78 commands will move the focus to the output in that direction. When name is
79 given, the focus is changed to the output with that name.
80
81**focus** mode_toggle::
82 Toggles focus between floating view and tiled view.
83
84**fullscreen**::
85 Toggles fullscreen status for the focused view.
86
87**layout** <mode>::
88 Sets the layout mode of the focused container. _mode_ can be one of _splith_,
89 _splitv_, _toggle split_, _stacking_, _tabbed_.
90
91**layout** auto <mode>::
92 Sets layout to one of the auto modes, i.e. one of _left_, _right_, _top_,
93 or _bottom_.
94
95**layout** auto <next|prev>::
96 Cycles between available auto layouts.
97
98**layout** auto [master|ncol] [inc|set] <n>::
99 Modify the number of master elements, respectively slave columns, in the
100 focused container. <n> can be a positive or negative integer. These commands
101 only have an effect if the focused container uses one of the "auto" layouts.
102
103**layout** toggle split::
104 Cycles between available split layouts.
105
106**move** <left|right|up|down> <[px]>::
107 Moves the focused container _left_, _right_, _up_, or _down_. If the window
108 is floating it moves it _px_ in that direction, defaulting to 10. Tiled
109 containers are moved the same regardless of the _px_ argument.
110
111**move** <next|prev|first>::
112 Moving to _prev_ or _next_ swaps the container with its sibling in the same
113 container. Move _first_ exchanges the focused element in an auto layout with
114 the first element, i.e. promotes the focused element to master position.
115
116**move** <container|window> to workspace <name>::
117 Moves the focused container to the workspace identified by _name_.
118 _name_ may be a special workspace name. See **workspace**.
119
120**move** <container|window|workspace> to output <name|direction>::
121 Moves the focused container or workspace to the output identified by _name_ or
122 _direction_. _direction_ may be one of _up_, _down_, _left_, _right_.
123
124**move** [to] scratchpad::
125 Moves the focused window to the scratchpad.
126
127**reload**::
128 Reloads the sway config file without restarting sway.
129
130**resize** <shrink|grow> <width|height> [<amount>] [px|ppt]::
131 Resizes the currently focused container or view by _amount_. _amount_ is
132 optional: the default value is 10 (either px or ppt depending on the view type).
133 The [px|ppt] parameter is optional. _px_ specifies that _amount_ refers to pixels;
134 _ppt_ specifies that _amount_ refers to percentage points of the current
135 size. Floating views use px by default (but can use ppt if specified); tiled
136 views use ppt by default (but can use px if specified).
137
138**resize set** <width> [px] <height> [px]::
139 Sets the width and height of the currently focused container to _width_ pixels
140 and _height_ pixels. The [px] parameters are optional and have no effect. This
141 command only accepts a size in pixels.
142
143**resize set** <width|height> <amount> [px] [<width|height> <amount> [px]]::
144 Sets the _width_ and/or _height_ of the currently focused container to
145 _amount_. The [px] parameters are optional and have no effect. This command
146 only accepts a size in pixels.
147
148**scratchpad show**::
149 Shows a window from the scratchpad. Repeatedly using this command will cycle
150 through the windows in the scratchpad.
151
152**split** <vertical|v|horizontal|h|toggle|t>::
153 Splits the current container, vertically or horizontally. If toggled, then the
154 current container is split opposite to the parent container.
155
156**splith**::
157 Equivalent to **split horizontal**.
158
159**splitv**::
160 Equivalent to **split vertical**.
161
162**splitt**::
163 Equivalent to **split toggle**.
164
165**sticky** <enable|disable|toggle>::
166 "Sticks" a floating window to the current output so that it shows up on all
167 workspaces.
168
169The following commands may be used either in the configuration file
170or triggered at runtime.
171
172**assign** <criteria> [→] <workspace>::
173 Assigns views matching _criteria_ (see **Criteria** section below) to
174 _workspace_. The → (U+2192) is optional and purely for aesthetics. This
175 command is exactly equivalent to "for_window <criteria> move container to
176 workspace <workspace>".
177
178**bindsym** <key combo> <command>::
179 Binds _key combo_ to execute _command_ when pressed. You may use XKB key
180 names here (**xev**(1) is a good tool for discovering them). An example
181 bindsym command would be **bindsym Mod1+Shift+f exec firefox**, which would
182 execute Firefox if the alt, shift, and F keys are pressed together. Any
183 valid sway command is eligible to be bound to a key combo.
184 +
185 **bindcode** <code> <command> is also available for binding with key codes
186 instead of key names.
187
188**client**.<color_class> <border> <background> <text> <indicator> <child_border>::
189 The client commands control the colors of the view borders and title bars. All
190 client commands _require_ five color values. (The one exception is
191 **client.background** which _requires_ one color value.) If you only want to
192 specify a subset, supply default colors for all the others. Colors must be
193 defined in hex. i.e. _#rrggbb_ or _#rrggbbaa_, when including the alpha
194 channel.
195 +
196 The command tokens are:
197 **color_class**::: Specifies the view to which the colors apply.
198 **client.background**:::: The color a view will be painted, underneath the
199 client itself. This will only be visible if a client does not fully
200 cover its allocated view space. This command only requires one color. _Note_:
201 This is not currently implemented.
202 **client.focused**:::: The view that has focus.
203 **client.focused_inactive**:::: A view that has focus within its
204 container, but the container is not focused.
205 **client.placeholder**:::: Used when drawing placeholder view contents.
206 Only background and text colors are used. _Note_: This is not
207 currently implemented.
208 **client.unfocused**:::: A view that does not have focus.
209 **client.urgent**:::: A view with an urgency hint. _Note_: This is not
210 currently implemented.
211 **border**::: The border around the title bar.
212 **background**::: The background of the title bar.
213 **text**::: The text color of the title bar.
214 **indicator**::: The color used to indicate where a new view will open. In a
215 tiled container, this would paint the right border of the current view if
216 a new view would be opened to the right.
217 **child_border**::: The border around the view itself.
218
219+
220The default colors are:
221+
222--
223[options="header"]
224|===========================================================================
225|color_class |border |background |text |indicator |child_border
226|background |n/a |#ffffff |n/a |n/a |n/a
227|focused |#4c7899 |#285577 |#ffffff |#2e9ef4 |#285577
228|focused_inactive |#333333 |#5f676a |#ffffff |#484e50 |#5f676a
229|unfocused |#333333 |#222222 |#888888 |#292d2e |#222222
230|urgent |#2f343a |#900000 |#ffffff |#900000 |#900000
231|placeholder |#000000 |#0c0c0c |#ffffff |#000000 |#0c0c0c
232|===========================================================================
233--
234
235**debuglog** <on|off|toggle>::
236 Enables, disables or toggles debug logging. The toggle argument cannot be used
237 in the configuration file.
238
239**default_border** <normal|none|pixel> [<n>]::
240 Set default border style for new windows. This command was previously called
241 **new_window**. While **new_window** still works, it is considered deprecated
242 and support for it will be removed in the future.
243
244**default_floating_border** <normal|none|pixel> [<n>]::
245 Set default border style for new floating windows. This only applies to
246 windows that are spawned in floating mode, not windows that become floating
247 after the fact. This command was previously called **new_float**. While
248 **new_float** still works, it is considered deprecated and support for it will
249 be removed in the future.
250
251**exec** <shell command>::
252 Executes _shell command_ with sh.
253
254**exec_always** <shell command>::
255 Like exec, but the shell command will be executed _again_ after *reload* or
256 *restart* is executed.
257
258**floating_maximum_size** <width> x <height>::
259 Specifies the maximum size of floating windows.
260 Uses the container size as default.
261 -1 x -1 will remove any restriction on size.
262 0 x 0 has the same behavior as not setting any value.
263 If in conflict, this option has precedence over floating_minimum_size.
264
265**floating_minimum_size** <width> x <height>::
266 Specifies the minimum size of floating windows.
267 Default parameters are 75 x 50.
268 -1 and 0 are invalid parameters, default will be used instead.
269
270**floating_modifier** <modifier> [normal|inverse]::
271 When the _modifier_ key is held down, you may hold left click to move floating
272 windows, and right click to resize them. Unlike i3, this modifier may also be
273 used to resize and move windows that are tiled. With the _inverse_ mode
274 enabled, left click is used for resizing and right click for dragging. The
275 mode parameter is optional and defaults to _normal_ if it isn't defined.
276
277**floating_scroll** <up|down|left|right> [command]::
278 Sets a command to be executed when the mouse wheel is scrolled in the
279 specified direction while holding the floating modifier. Resets the command,
280 when given no arguments.
281
282**focus_follows_mouse** <yes|no>::
283 If set to _yes_, moving your mouse over a window will focus that window.
284
285**font** <font>::
286 Sets font for use in title bars. Generally the format is something like "Name
287 Style Size" e.g. "Deja Vu Sans Book 12". You can also use Pango font
288 descriptions with "pango:font".
289
290**for_window** <criteria> <command>::
291 Whenever a window that matches _criteria_ appears, run list of commands. See
292 **Criteria** section below.
293
294**gaps** edge_gaps <on|off|toggle>::
295 Whether or not to add gaps between views and workspace edges if amount of
296 inner gap is not zero. When _off_, no gap is added where the view is aligned to
297 the workspace edge, effectively creating gaps only between views. The toggle
298 argument cannot be used in the configuration file.
299
300**gaps** <amount>::
301 Sets default _amount_ pixels as the gap between each view, and around each
302 workspace.
303
304**gaps** <inner|outer> <amount>::
305 Sets default _amount_ pixels as the _inner_ or _outer_ gap, where the former
306 affects spacing between views and the latter affects the space around each
307 workspace.
308
309**gaps** <inner|outer> <all|workspace|current> <set|plus|minus> <amount>::
310 Changes the gaps for the _inner_ or _outer_ gap. _all_ changes the gaps for
311 all views or workspace, _workspace_ changes gaps for all views in current
312 workspace (or current workspace), and _current_ changes gaps for the current
313 view or workspace.
314
315**hide_edge_borders** <none|vertical|horizontal|both|smart>::
316 Hide window borders adjacent to the screen edges. Default is _none_.
317
318**input** <input_device> <block of commands>::
319 Append _{_ to this command, the following lines will be commands to configure
320 the named input device, and _}_ on its own line will close the block.
321 +
322 **input * <block of commands>** may be used to match all input devices.
323 +
324 See **sway-input**(5) for details.
325
326**seat** <seat_name> <block of commands>::
327 Append _{_ to this command, the following lines will be commands to configure
328 the named seat, and _}_ on its own line will close the block.
329 See **sway-input**(5) for details.
330
331**seat** <seat_name> cursor <move|set> <x> <y>::
332 Move cursor relatively to current position or set to absolute screen position.
333 A value of 0 causes the axis to be ignored in both commands.
334
335**seat** <seat_name> cursor <press|release> <left|right|1|2|3...>::
336 Simulate press of mouse button specified by left, right, or numerical code.
337
338**kill**::
339 Kills (force-closes) the currently-focused container and all of its children.
340
341**smart_gaps** <on|off>::
342 If smart_gaps are _on_ then gaps will only be enabled if a workspace has more
343 than one child container.
344
345**mark** \<--add|--replace> \<--toggle> <identifier>::
346 Marks are arbitrary labels that can be used to identify certain windows and
347 then jump to them at a later time. By default, the **mark** command sets
348 _identifier_ as the only mark on a window. By specifying _--add_, mark will
349 add _identifier_ to the list of current marks. If _--toggle_ is specified mark
350 will remove _identifier_ if it is already a label. Marks may be found by using
351 a criteria. See the **Criteria** section below.
352
353**mode** <mode_name>::
354 Switches to the given mode_name. The default mode is simply _default_. To
355 create a new mode append _{_ to this command, the following lines
356 will be keybindings for that mode, and _}_ on its own line to close the block.
357
358**mouse_warping** <output|none>::
359 When _output_: place mouse at center of newly focused window when changing
360 output. When _none_: don't move mouse.
361
362**no_focus** <criteria>::
363 Prevents windows matching <criteria> from being focused automatically when
364 they're created. This does not apply to the first window in a workspace.
365
366**output** <name> mode|resolution|res <WIDTHxHEIGHT>[@<RATE>[Hz]]::
367 Configures the specified output to use the given mode. Modes are a combination
368 of width and height (in pixels) and a refresh rate that your display can be
369 configured to use. For a list of available modes, use swaymsg -t get_outputs.
370 +
371 Examples:
372 +
373 output HDMI-A-1 mode 1920x1080
374 +
375 output HDMI-A-1 mode 1920x1080@60Hz
376
377**output** <name> position|pos <X,Y>::
378 Configures the specified output to be arranged at the given position.
379
380**output** <name> scale <I>::
381 Configures the specified output to be scaled up by the specified integer
382 scaling factor (usually 2 for HiDPI screens). Fractional scaling is supported.
383
384**output** <name> background|bg <file> <mode>::
385 Sets the wallpaper for the given output to the specified file, using the given
386 scaling mode (one of "stretch", "fill", "fit", "center", "tile").
387
388**output** <name> background|bg <color> solid_color::
389 Sets the background of the given output to the specified color. _color_ should
390 be specified as an _#rrggbb_ (no alpha) color.
391
392**output** <name> transform <transform>::
393 Sets the background transform to the given value. Can be one of "90", "180",
394 "270" for rotation; or "flipped", "flipped-90", "flipped-180", "flipped-270"
395 to apply a rotation and flip, or "normal" to apply no transform.
396
397**output** <name> disable::
398 Disables the specified output.
399
400**NOTES FOR THE OUTPUT COMMAND**::
401 You may combine output commands into one, like so:
402 +
403 output HDMI-A-1 mode 1920x1080 pos 1920,0 bg ~/wallpaper.png stretch
404 +
405 You can get a list of output names like so:
406 +
407 swaymsg -t get_outputs
408 +
409 You may also match any output by using the output name "*". Be sure to add
410 this output config after the others, or it will be matched instead of the
411 others.
412
413**seamless_mouse** <on|off>::
414 Change output seamlessly when pointer touches edge of output. Outputs need to
415 be configured with perfectly aligned adjacent positions for this option to
416 have any effect.
417
418**show_marks** <on|off>::
419 If **show_marks** is on then marks will be showed in the window decoration.
420 However, any mark that starts with an underscore will not be drawn even if the
421 option is on. The default option is _on_.
422
423**opacity** <value>::
424 Set the opacity of the window between 0 (completely transparent) and 1
425 (completely opaque).
426
427**unmark** <identifier>::
428 **Unmark** will remove _identifier_ from the list of current marks on a window. If
429 no _identifier_ is specified, then **unmark** will remove all marks.
430
431**workspace** [number] <name>::
432 Switches to the specified workspace. The string "number" is optional. The
433 workspace _name_, if unquoted, may not contain the string "output", as sway
434 will assume that the command is moving a workspace to an output, as described
435 below.
436
437**workspace** <prev|next>::
438 Switches to the next workspace on the current output or on the next output
439 if currently on the last workspace.
440
441**workspace** <prev_on_output|next_on_output>::
442 Switches to the next workspace on the current output.
443
444**workspace** <name> output <output>::
445 Specifies that the workspace named _name_ should appear on the specified
446 _output_.
447
448**workspace_auto_back_and_forth** <yes|no>::
449 When _yes_, repeating a workspace switch command will switch back to the
450 prior workspace. For example, if you are currently on workspace 1,
451 switch to workspace 2, then invoke the "workspace 2" command again, you
452 will be returned to workspace 1. Defaults to _no_.
453
454**workspace_layout** <default|stacking|tabbed|auto|auto left|auto right|auto
455 top|auto bottom>:: Specifies the start layout for new workspaces.
456
457**include** <path>::
458 Includes a sub config file by _path_. _path_ can be either a full path or a
459 path relative to the parent config.
460
461Criteria
462--------
463
464A criteria is a string in the form of e.g.:
465
466 [class="[Rr]egex.*" title="some title"]
467
468The string contains one or more (space separated) attribute/value pairs. They
469are used by some commands to choose which views to execute actions on. All attributes
470must match for the criteria to match.
471
472Criteria may be used with either the **for_window** or **assign** commands to
473specify operations to perform on new views. A criteria may also be used to
474perform specific commands (ones that normally act upon one window) on all views
475that match that criteria. For example:
476
477Focus on a window with the mark "IRC":
478 [con_mark="IRC"] focus
479
480Kill all windows with the title "Emacs":
481 [class="Emacs"] kill
482
483Mark all Firefox windows with "Browser":
484 [class="Firefox"] mark Browser
485
486Currently supported attributes:
487
488**app_id**::
489 Compare value against the app id. Can be a regular expression. If value is
490 __focused__, then the app id must be the same as that of the currently
491 focused window.
492
493**class**::
494 Compare value against the window class. Can be a regular expression. If
495 value is __focused__, then the window class must be the same as that of the
496 currently focused window.
497
498**con_id**::
499 Compare against the internal container ID, which you can find via IPC.
500
501**con_mark**::
502 Compare against the window marks. Can be a regular expression.
503
504**floating**::
505 Matches against floating windows.
506
507**id**::
508 Compare value against the X11 window id. Must be numeric.
509
510**instance**::
511 Compare value against the window instance. Can be a regular expression. If
512 value is __focused__, then the window instance must be the same as that of
513 the currently focused window.
514
515**tiling**::
516 Matches against tiling windows.
517
518**title**::
519 Compare against the window title. Can be a regular expression. If value is
520 __focused__, then the window title must be the same as that of the currently
521 focused window.
522
523**urgent**::
524 Compares the urgent state of the window. Can be "latest" or "oldest".
525
526**window_role**::
527 Compare against the window role (WM_WINDOW_ROLE). Can be a regular
528 expression. If value is __focused__, then the window role must be the same
529 as that of the currently focused window.
530
531**window_type**::
532 Compare against the window type (_NET_WM_WINDOW_TYPE). Possible values are
533 normal, dialog, utility, toolbar, splash, menu, dropdown_menu, popup_menu,
534 tooltip and notification.
535
536**workspace**::
537 Compare against the workspace name for this view. Can be a regular
538 expression. If the value is __focused__, then all the views on the currently
539 focused workspace matches.
540
541See Also
542--------
543
544**sway**(1) **sway-input**(5) **sway-bar**(5)