aboutsummaryrefslogtreecommitdiff
path: root/sway.5.txt
blob: dad55c5f2fb54f3b7e2815dc6c7238ee256f9b36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
/////
vim:set ts=4 sw=4 tw=82 noet:
/////
sway (5)
========

Name
----
sway - configuration file and commands

Description
-----------

A sway configuration file is a list of sway commands that are executed by sway on
startup. These commands usually consist of setting your preferences and setting
key bindings. An example config is likely present in /etc/sway/config for you to
check out.

All of these commands may be issued at runtime through **sway-msg**(1).

Commands
--------

**bindsym** <key combo> <command>::
	Binds _key combo_ to execute _command_ when pressed. You may use XKB key
	names here (**xev**(1) is a good tool for discovering them). An example
	bindsym command would be _bindsym Mod1+Shift+f exec firefox_, which would
	execute Firefox if the alt, shift, and F keys are pressed together. Any
	valid sway command is eligible to be bound to a key combo.

**exec** <shell command>::
	Executes _shell command_ with sh.

**exec_always** <shell command>::
	Like exec, but the shell command will be executed _again_ after *reload* or
	*restart* is executed.

**exit**::
	Exit sway and end your Wayland session.

**floating** toggle::
	Toggles the "floating" status of the focused view.

**floating_modifier** <modifier>::
	When the _modifier_ key is held down, you may use left click to drag floating
	windows, and right click to resize them. Unlike i3, this modifier may also be
	used to resize and move windows that are tiled.

**focus** <direction>::
	Direction may be one of _up_, _down_, _left_, _right_, or _parent_. The
	directional focus commands will move the focus in that direction. The parent
	focus command will change the focus to the parent of the currently focused
	container, which is useful, for example, to open a sibling of the parent
	container, or to move the entire container around.

**focus** output <direction|name>::
	Direction may be one of _up_, _down_, _left_, _right_. The directional focus
	commands will move the focus to the output in that direction. When name is
	given the focus is changed to the output with that name.

**focus** mode_toggle::
	Toggles focus between floating view and tiled view.

**focus_follows_mouse** <yes|no>::
	If set to _yes_, the currently focused view will change as you move your
	mouse around the screen to the view that ends up underneath your mouse.

**fullscreen**::
	Toggles fullscreen status for the focused view.

**gaps** <amount>::
	Sets _amount_ pixels as the gap between each view, and around each
	workspace.

**gaps** <inner|outer> <amount>::
	Sets _amount_ pixels as the _inner_ or _outer_ gap, where the former affects
	spacing between views and the latter affects the space around each
	workspace.

**gaps** <inner|outer> <all|workspace|current> <set|plus|minus> <amount>::
	Changes the gaps for the _inner_ or _outer_ gap. _all_ changes the gaps for
	all views or workspace, _workspace_ changes gaps for all views in current
	workspace, or current workspace, and _current_ changes gaps for the current
	view or workspace.

**kill**::
	Closes the currently focused view.

**layout** <mode>::
	Sets the layout mode of the focused container. _mode_ can be one of _splith_,
	_splitv_, or _toggle split_.

**mode** <mode_name>::
	Switches to the given mode_name. the default mode is simply _default_. To
	create a new mode in config append _{_ to this command, the following lines
	will be keybinds for that mode, and _}_ on its own line to close the block.

**move** <left|right|up|down>::
	Moves the focused container _left_, _right_, _up_, or _down_.

**move** <container|window> to workspace <name>::
	Moves the focused container to the workspace identified by _name_.
	_name_ may be a special workspace name. See **workspace**.

**output** <name> <resolution|res WIDTHxHEIGHT> <position|pos X,Y>::
	Configures the specified output. It will use the given resolution and be
	arranged at the given position in the layout tree. You may omit either of
	these parameters if you only want to set one of them.

**output** <name> disable::
	Disables the specified output.

**reload**::
	Reloads the sway config file without restarting sway.

**resize** <shrink|grow> <width|height> <amount>::
	Resizes the currently focused container or view by _amount_. _amount_ can be
	specified as "n px" or "n ppt" or "n px or n ppt".

**seamless_mouse** <on|off>::
	Change output seamlessly when pointer touches edge of output. Outputs need to
	be configured with perfectly aligned adjacent positions for this option to
	have any effect.

**set** <name> <value>::
	Creates a substitution for _value_ that can be used with $_name_ in other
	commands.

**split** <vertical|v|horizontal|h>::
	Splits the current container, vertically or horizontally.

**splith**::
	Equivalent to **split horizontal**.

**splitv**::
	Equivalent to **split vertical**.

**workspace** <name>::
	Switches to the specified workspace.

**workspace** <prev|next>::
	Switches to the next workspace on the current output or on the next output
	if currently on the last workspace.

**workspace** <prev_on_output|next_on_output>::
	Switches to the next workspace on the current output.

**workspace** <name> output <output>::
	Specifies that the workspace named _name_ should appear on the specified
	_output_.