aboutsummaryrefslogtreecommitdiffstats
path: root/sway/sway.5.scd
diff options
context:
space:
mode:
Diffstat (limited to 'sway/sway.5.scd')
-rw-r--r--sway/sway.5.scd153
1 files changed, 124 insertions, 29 deletions
diff --git a/sway/sway.5.scd b/sway/sway.5.scd
index 02592b5f..7e58b528 100644
--- a/sway/sway.5.scd
+++ b/sway/sway.5.scd
@@ -155,7 +155,7 @@ They are expected to be used with *bindsym* or at runtime through *swaymsg*(1).
155 is specified, the view will be fullscreen across all outputs. 155 is specified, the view will be fullscreen across all outputs.
156 156
157*gaps* inner|outer|horizontal|vertical|top|right|bottom|left all|current 157*gaps* inner|outer|horizontal|vertical|top|right|bottom|left all|current
158set|plus|minus <amount> 158set|plus|minus|toggle <amount>
159 Changes the _inner_ or _outer_ gaps for either _all_ workspaces or the 159 Changes the _inner_ or _outer_ gaps for either _all_ workspaces or the
160 _current_ workspace. _outer_ gaps can be altered per side with _top_, 160 _current_ workspace. _outer_ gaps can be altered per side with _top_,
161 _right_, _bottom_, and _left_ or per direction with _horizontal_ and 161 _right_, _bottom_, and _left_ or per direction with _horizontal_ and
@@ -176,6 +176,12 @@ set|plus|minus <amount>
176*layout* default|splith|splitv|stacking|tabbed 176*layout* default|splith|splitv|stacking|tabbed
177 Sets the layout mode of the focused container. 177 Sets the layout mode of the focused container.
178 178
179 When using the _stacking_ layout, only the focused window in the container is
180 displayed, with the opened windows' list on the top of the container.
181
182 The _tabbed_ layout is similar to _stacking_, but the windows’ list is vertically
183 split.
184
179*layout* toggle [split|all] 185*layout* toggle [split|all]
180 Cycles the layout mode of the focused container though a preset list of 186 Cycles the layout mode of the focused container though a preset list of
181 layouts. If no argument is given, then it cycles through stacking, tabbed 187 layouts. If no argument is given, then it cycles through stacking, tabbed
@@ -210,15 +216,14 @@ set|plus|minus <amount>
210 further details. 216 further details.
211 217
212*move* left|right|up|down [<px> px] 218*move* left|right|up|down [<px> px]
213 Moves the focused container in the direction specified. If the container, 219 Moves the focused container in the direction specified. The optional _px_
214 the optional _px_ argument specifies how many pixels to move the container. 220 argument specifies how many pixels to move the container. If unspecified,
215 If unspecified, the default is 10 pixels. Pixels are ignored when moving 221 the default is 10 pixels. Pixels are ignored when moving tiled containers.
216 tiled containers.
217 222
218*move* [absolute] position <pos_x> [px|ppt] <pos_y> [px|ptt] 223*move* [absolute] position <pos_x> [px|ppt] <pos_y> [px|ppt]
219 Moves the focused container to the specified position in the workspace. 224 Moves the focused container to the specified position in the workspace.
220 The position can be specified in pixels or percentage points, omitting 225 The position can be specified in pixels or percentage points, omitting
221 the unit defaults to pixels. If _absolute_ is used, the position is 226 the unit defaults to pixels. If _absolute_ is used, the position is
222 relative to all outputs. _absolute_ can not be used with percentage points. 227 relative to all outputs. _absolute_ can not be used with percentage points.
223 228
224*move* [absolute] position center 229*move* [absolute] position center
@@ -319,8 +324,10 @@ set|plus|minus <amount>
319 established by the *seat* subcommand of the same name. See 324 established by the *seat* subcommand of the same name. See
320 *sway-input*(5) for more ways to affect inhibitors. 325 *sway-input*(5) for more ways to affect inhibitors.
321 326
322*split* vertical|v|horizontal|h|toggle|t 327*split* vertical|v|horizontal|h|none|n|toggle|t
323 Splits the current container, vertically or horizontally. When _toggle_ is 328 Splits the current container, vertically or horizontally. When _none_ is
329 specified, the effect of a previous split is undone if the current
330 container is the only child of a split parent. When _toggle_ is
324 specified, the current container is split opposite to the parent 331 specified, the current container is split opposite to the parent
325 container's layout. 332 container's layout.
326 333
@@ -382,8 +389,8 @@ runtime.
382 for_window <criteria> move container to output <output> 389 for_window <criteria> move container to output <output>
383 390
384*bindsym* [--whole-window] [--border] [--exclude-titlebar] [--release] [--locked] \ 391*bindsym* [--whole-window] [--border] [--exclude-titlebar] [--release] [--locked] \
385[--to-code] [--input-device=<device>] [--no-warn] [--no-repeat] [Group<1-4>+]<key combo> \ 392[--to-code] [--input-device=<device>] [--no-warn] [--no-repeat] [--inhibited] \
386<command> 393[Group<1-4>+]<key combo> <command>
387 Binds _key combo_ to execute the sway command _command_ when pressed. You 394 Binds _key combo_ to execute the sway command _command_ when pressed. You
388 may use XKB key names here (*wev*(1) is a good tool for discovering these). 395 may use XKB key names here (*wev*(1) is a good tool for discovering these).
389 With the flag _--release_, the command is executed when the key combo is 396 With the flag _--release_, the command is executed when the key combo is
@@ -404,7 +411,7 @@ runtime.
404 a keyboard shortcuts inhibitor is active for the currently focused 411 a keyboard shortcuts inhibitor is active for the currently focused
405 window. Such inhibitors are usually requested by remote desktop and 412 window. Such inhibitors are usually requested by remote desktop and
406 virtualization software to enable the user to send keyboard shortcuts 413 virtualization software to enable the user to send keyboard shortcuts
407 to the remote or virtual session. The _--inhibited_ flag allows to 414 to the remote or virtual session. The _--inhibited_ flag allows one to
408 define bindings which will be exempt from pass-through to such 415 define bindings which will be exempt from pass-through to such
409 software. The same preference logic as for _--locked_ applies. 416 software. The same preference logic as for _--locked_ applies.
410 417
@@ -447,7 +454,8 @@ runtime.
447``` 454```
448 455
449 *bindcode* [--whole-window] [--border] [--exclude-titlebar] [--release] \ 456 *bindcode* [--whole-window] [--border] [--exclude-titlebar] [--release] \
450[--locked] [--input-device=<device>] [--no-warn] [Group<1-4>+]<code> <command> 457[--locked] [--input-device=<device>] [--no-warn] [--no-repeat] [--inhibited] \
458[Group<1-4>+]<code> <command>
451 is also available for binding with key/button codes instead of key/button names. 459 is also available for binding with key/button codes instead of key/button names.
452 460
453*bindswitch* [--locked] [--no-warn] [--reload] <switch>:<state> <command> 461*bindswitch* [--locked] [--no-warn] [--reload] <switch>:<state> <command>
@@ -480,6 +488,62 @@ runtime.
480 bindswitch lid:toggle exec echo "Lid moved" 488 bindswitch lid:toggle exec echo "Lid moved"
481``` 489```
482 490
491*bindgesture* [--exact] [--input-device=<device>] [--no-warn] \
492<gesture>[:<fingers>][:directions] <command>
493 Binds _gesture_ to execute the sway command _command_ when detected.
494 Currently supports the _hold_, _pinch_ or _swipe_ gesture. Optionally
495 can be limited to bind to a certain number of _fingers_ or, for a
496 _pinch_ or _swipe_ gesture, to certain _directions_.
497
498[[ *type*
499:[ *fingers*
500:< *direction*
501| hold
502:- 1 - 5
503: none
504| swipe
505: 3 - 5
506: up, down, left, right
507| pinch
508: 2 - 5
509: all above + inward, outward, clockwise, counterclockwise
510
511 The _fingers_ can be limited to any sensible number or left empty to accept
512 any finger counts.
513 Valid directions are _up_, _down_, _left_ and _right_, as well as _inward_,
514 _outward_, _clockwise_, _counterclockwise_ for the _pinch_ gesture.
515 Multiple directions can be combined by a plus.
516
517 If a _input-device_ is given, the binding will only be executed for
518 that input device and will be executed instead of any binding that is
519 generic to all devices. By default, if you overwrite a binding,
520 swaynag will give you a warning. To silence this, use the _--no-warn_ flag.
521
522 The _--exact_ flag can be used to ensure a binding only matches when exactly
523 all specified directions are matched and nothing more. If there is matching
524 binding with _--exact_, it will be preferred.
525
526 The priority for matching bindings is as follows: input device, then
527 exact matches followed by matches with the highest number of matching
528 directions.
529
530 Gestures executed while the pointer is above a bar are not handled by sway.
531 See the respective documentation, e.g. *bindgesture* in *sway-bar*(5).
532
533 Example:
534```
535 # Allow switching between workspaces with left and right swipes
536 bindgesture swipe:right workspace prev
537 bindgesture swipe:left workspace next
538
539 # Allow container movements by pinching them
540 bindgesture pinch:inward+up move up
541 bindgesture pinch:inward+down move down
542 bindgesture pinch:inward+left move left
543 bindgesture pinch:inward+right move right
544
545```
546
483*client.background* <color> 547*client.background* <color>
484 This command is ignored and is only present for i3 compatibility. 548 This command is ignored and is only present for i3 compatibility.
485 549
@@ -497,6 +561,12 @@ runtime.
497 *client.focused_inactive* 561 *client.focused_inactive*
498 The most recently focused view within a container which is not focused. 562 The most recently focused view within a container which is not focused.
499 563
564 *client.focused_tab_title*
565 A view that has focused descendant container.
566 Tab or stack container title that is the parent of the focused container
567 but is not directly focused. Defaults to focused_inactive if not
568 specified and does not use the indicator and child_border colors.
569
500 *client.placeholder* 570 *client.placeholder*
501 Ignored (present for i3 compatibility). 571 Ignored (present for i3 compatibility).
502 572
@@ -552,6 +622,12 @@ The default colors are:
552: #ffffff 622: #ffffff
553: #484e50 623: #484e50
554: #5f676a 624: #5f676a
625| *focused_tab_title*
626: #333333
627: #5f676a
628: #ffffff
629: n/a
630: n/a
555| *unfocused* 631| *unfocused*
556: #333333 632: #333333
557: #222222 633: #222222
@@ -573,7 +649,8 @@ The default colors are:
573 649
574 650
575*default_border* normal|none|pixel [<n>] 651*default_border* normal|none|pixel [<n>]
576 Set default border style for new tiled windows. 652 Set default border style for new tiled windows. Config reload won't affect
653 existing windows, only newly created ones after the reload.
577 654
578*default_floating_border* normal|none|pixel [<n>] 655*default_floating_border* normal|none|pixel [<n>]
579 Set default border style for new floating windows. This only applies to 656 Set default border style for new floating windows. This only applies to
@@ -606,11 +683,11 @@ The default colors are:
606 after switching between workspaces. 683 after switching between workspaces.
607 684
608*focus_on_window_activation* smart|urgent|focus|none 685*focus_on_window_activation* smart|urgent|focus|none
609 This option determines what to do when an xwayland client requests 686 This option determines what to do when a client requests window activation.
610 window activation. If set to _urgent_, the urgent state will be set 687 If set to _urgent_, the urgent state will be set for that window. If set to
611 for that window. If set to _focus_, the window will become focused. 688 _focus_, the window will become focused. If set to _smart_, the window will
612 If set to _smart_, the window will become focused only if it is already 689 become focused only if it is already visible, otherwise the urgent state
613 visible, otherwise the urgent state will be set. Default is _urgent_. 690 will be set. Default is _urgent_.
614 691
615*focus_wrapping* yes|no|force|workspace 692*focus_wrapping* yes|no|force|workspace
616 This option determines what to do when attempting to focus over the edge 693 This option determines what to do when attempting to focus over the edge
@@ -630,14 +707,14 @@ The default colors are:
630 should be used instead. Regardless of whether pango markup is enabled, 707 should be used instead. Regardless of whether pango markup is enabled,
631 _font_ should be specified as a pango font description. For more 708 _font_ should be specified as a pango font description. For more
632 information on pango font descriptions, see 709 information on pango font descriptions, see
633 https://developer.gnome.org/pango/stable/pango-Fonts.html#pango-font-description-from-string 710 https://docs.gtk.org/Pango/type_func.FontDescription.from_string.html#description
634 711
635*force_display_urgency_hint* <timeout> [ms] 712*force_display_urgency_hint* <timeout> [ms]
636 If an application on another workspace sets an urgency hint, switching to this 713 If an application on another workspace sets an urgency hint, switching to this
637 workspace may lead to immediate focus of the application, which also means the 714 workspace may lead to immediate focus of the application, which also means the
638 window decoration color would be immediately resetted to *client.focused*. This 715 window decoration color would be immediately reset to *client.focused*. This
639 may make it unnecessarily hard to tell which window originally raised the 716 may make it unnecessarily hard to tell which window originally raised the
640 event. This option allows to set a _timeout_ in ms to delay the urgency hint reset. 717 event. This option allows one to set a _timeout_ in ms to delay the urgency hint reset.
641 718
642*titlebar_border_thickness* <thickness> 719*titlebar_border_thickness* <thickness>
643 Thickness of the titlebar border in pixels 720 Thickness of the titlebar border in pixels
@@ -690,9 +767,10 @@ The default colors are:
690 borders will only be enabled if the workspace has more than one visible 767 borders will only be enabled if the workspace has more than one visible
691 child and gaps equal to zero. 768 child and gaps equal to zero.
692 769
693*smart_gaps* on|off 770*smart_gaps* on|off|toggle|inverse_outer
694 If smart_gaps are _on_ gaps will only be enabled if a workspace has more 771 If smart_gaps are _on_ gaps will only be enabled if a workspace has more
695 than one child. 772 than one child. If smart_gaps are _inverse_outer_ outer gaps will only
773 be enabled if a workspace has exactly one child.
696 774
697*mark* --add|--replace [--toggle] <identifier> 775*mark* --add|--replace [--toggle] <identifier>
698 Marks are arbitrary labels that can be used to identify certain windows and 776 Marks are arbitrary labels that can be used to identify certain windows and
@@ -731,6 +809,10 @@ The default colors are:
731 dialog will not be rendered. If _leave_fullscreen_, the view will exit 809 dialog will not be rendered. If _leave_fullscreen_, the view will exit
732 fullscreen mode and the dialog will be rendered. 810 fullscreen mode and the dialog will be rendered.
733 811
812*primary_selection* enabled|disabled
813 Enable or disable the primary selection clipboard. May only be configured
814 at launch. Default is _enabled_.
815
734*set* $<name> <value> 816*set* $<name> <value>
735 Sets variable $_name_ to _value_. You can use the new variable in the 817 Sets variable $_name_ to _value_. You can use the new variable in the
736 arguments of future commands. When the variable is used, it can be escaped 818 arguments of future commands. When the variable is used, it can be escaped
@@ -771,6 +853,11 @@ The default colors are:
771*unbindswitch* <switch>:<state> 853*unbindswitch* <switch>:<state>
772 Removes a binding for when <switch> changes to <state>. 854 Removes a binding for when <switch> changes to <state>.
773 855
856*unbindgesture* [--exact] [--input-device=<device>] \
857<gesture>[:<fingers>][:directions]
858 Removes a binding for the specified _gesture_, _fingers_
859 and _directions_ combination.
860
774*unbindsym* [--whole-window] [--border] [--exclude-titlebar] [--release] [--locked] \ 861*unbindsym* [--whole-window] [--border] [--exclude-titlebar] [--release] [--locked] \
775[--to-code] [--input-device=<device>] <key combo> 862[--to-code] [--input-device=<device>] <key combo>
776 Removes the binding for _key combo_ that was previously bound with the 863 Removes the binding for _key combo_ that was previously bound with the
@@ -876,6 +963,9 @@ properties in practice for your applications.
876 963
877The following attributes may be matched with: 964The following attributes may be matched with:
878 965
966*all*
967 Matches all windows.
968
879*app_id* 969*app_id*
880 Compare value against the app id. Can be a regular expression. If value is 970 Compare value against the app id. Can be a regular expression. If value is
881 \_\_focused\_\_, then the app id must be the same as that of the currently 971 \_\_focused\_\_, then the app id must be the same as that of the currently
@@ -884,7 +974,8 @@ The following attributes may be matched with:
884*class* 974*class*
885 Compare value against the window class. Can be a regular expression. If 975 Compare value against the window class. Can be a regular expression. If
886 value is \_\_focused\_\_, then the window class must be the same as that of 976 value is \_\_focused\_\_, then the window class must be the same as that of
887 the currently focused window. _class_ are specific to X11 applications. 977 the currently focused window. _class_ are specific to X11 applications and
978 require XWayland.
888 979
889*con_id* 980*con_id*
890 Compare against the internal container ID, which you can find via IPC. If 981 Compare against the internal container ID, which you can find via IPC. If
@@ -898,12 +989,14 @@ The following attributes may be matched with:
898 Matches floating windows. 989 Matches floating windows.
899 990
900*id* 991*id*
901 Compare value against the X11 window ID. Must be numeric. 992 Compare value against the X11 window ID. Must be numeric. id is specific to
993 X11 applications and requires XWayland.
902 994
903*instance* 995*instance*
904 Compare value against the window instance. Can be a regular expression. If 996 Compare value against the window instance. Can be a regular expression. If
905 value is \_\_focused\_\_, then the window instance must be the same as that 997 value is \_\_focused\_\_, then the window instance must be the same as that
906 of the currently focused window. 998 of the currently focused window. instance is specific to X11 applications and
999 requires XWayland.
907 1000
908*pid* 1001*pid*
909 Compare value against the window's process ID. Must be numeric. 1002 Compare value against the window's process ID. Must be numeric.
@@ -928,12 +1021,14 @@ The following attributes may be matched with:
928*window_role* 1021*window_role*
929 Compare against the window role (WM_WINDOW_ROLE). Can be a regular 1022 Compare against the window role (WM_WINDOW_ROLE). Can be a regular
930 expression. If value is \_\_focused\_\_, then the window role must be the 1023 expression. If value is \_\_focused\_\_, then the window role must be the
931 same as that of the currently focused window. 1024 same as that of the currently focused window. window_role is specific to X11
1025 applications and requires XWayland.
932 1026
933*window_type* 1027*window_type*
934 Compare against the window type (\_NET_WM_WINDOW_TYPE). Possible values 1028 Compare against the window type (\_NET_WM_WINDOW_TYPE). Possible values
935 are normal, dialog, utility, toolbar, splash, menu, dropdown_menu, 1029 are normal, dialog, utility, toolbar, splash, menu, dropdown_menu,
936 popup_menu, tooltip and notification. 1030 popup_menu, tooltip and notification. window_type is specific to X11
1031 applications and requires XWayland.
937 1032
938*workspace* 1033*workspace*
939 Compare against the workspace name for this view. Can be a regular 1034 Compare against the workspace name for this view. Can be a regular