parent
							
								
									c2a7d367af
								
							
						
					
					
						commit
						432256ad84
					
				| @ -1,109 +0,0 @@ | ||||
| ///// | ||||
| vim:set ft=asciidoc ts=4 sw=4 tw=82 noet: | ||||
| ///// | ||||
| :quotes.~: | ||||
| 
 | ||||
| sway (1) | ||||
| ======== | ||||
| 
 | ||||
| Name | ||||
| ---- | ||||
| sway - SirCmpwn's Wayland window manager | ||||
| 
 | ||||
| Synopsis | ||||
| -------- | ||||
| 'sway' [options] [command] | ||||
| 
 | ||||
| Options | ||||
| ------- | ||||
| 
 | ||||
| *-h, --help*:: | ||||
| 	Show help message and quit. | ||||
| 
 | ||||
| *-c, \--config* <config>:: | ||||
| 	Specifies a config file. | ||||
| 
 | ||||
| *-C, \--validate*:: | ||||
| 	Check the validity of the config file, then exit. | ||||
| 
 | ||||
| *-d, --debug*:: | ||||
| 	Enables full logging, including debug information. | ||||
| 
 | ||||
| *-v, \--version*:: | ||||
| 	Show the version number and quit. | ||||
| 
 | ||||
| *-V, --verbose*:: | ||||
| 	Enables more verbose logging. | ||||
| 
 | ||||
| *--get-socketpath*:: | ||||
| 	Gets the IPC socket path and prints it, then exits. | ||||
| 
 | ||||
| Description | ||||
| ----------- | ||||
| 
 | ||||
| sway was created to fill the need of an i3-like window manager for Wayland. The | ||||
| upstream i3 developers have no intention of porting i3 to Wayland, and projects | ||||
| proposed by others ended up as vaporware. Many thanks to the i3 folks for | ||||
| providing such a great piece of software, so good that your users would rather | ||||
| write an entirely new window manager from scratch that behaved _exactly_ like i3 | ||||
| rather than switch to something else. | ||||
| 
 | ||||
| Launch sway directly from a tty or via your favorite Wayland-compatible login | ||||
| manager. | ||||
| 
 | ||||
| Commands | ||||
| -------- | ||||
| 
 | ||||
| If sway is currently running, you may run _sway [command]_ to send _command_ to | ||||
| the running instance of sway. The same commands you would use in the config file | ||||
| are valid here (see **sway**(5)). For compatibility reasons, you may also issue | ||||
| commands with **swaymsg**(1) or **i3-msg**(1) (or even with **i3**(1), probably). | ||||
| 
 | ||||
| Configuration | ||||
| ------------- | ||||
| 
 | ||||
| The path to a config file can be given via the _-c_ parameter, else | ||||
| sway searches for it in the following locations: | ||||
| - ~/.sway/config | ||||
| - $XDG_CONFIG_HOME/sway/config (suggested location) | ||||
| - ~/.i3/config | ||||
| - $XDG_CONFIG_HOME/i3/config (XDG_HOME ) | ||||
| - /etc/sway/config | ||||
| - /etc/i3/config | ||||
| 
 | ||||
| In /etc/sway/config the standard config file is installed. | ||||
| An error is raised when no config file is found. | ||||
| 
 | ||||
| To write your own configuration, it's suggested that you copy the default config file to | ||||
| the location of your choosing and start there. | ||||
| 
 | ||||
| For information on the config file format, see **sway**(5). | ||||
| 
 | ||||
| Environment | ||||
| ----------- | ||||
| 
 | ||||
| The following environment variables have an effect on sway: | ||||
| 
 | ||||
| *SWAY_CURSOR_THEME*:: | ||||
| 	Specifies the name of the cursor theme to use. | ||||
| 
 | ||||
| *SWAY_CURSOR_SIZE*:: | ||||
| 	Specifies the size of the cursor to use. | ||||
| 
 | ||||
| *SWAYSOCK*:: | ||||
| 	Specifies the path to the sway IPC socket. | ||||
| 
 | ||||
| *XKB_DEFAULT_RULES*, *XKB_DEFAULT_MODEL*, *XKB_DEFAULT_LAYOUT*, *XKB_DEFAULT_VARIANT*, *XKB_DEFAULT_OPTIONS*:: | ||||
| 	Configures the xkb keyboard settings. See xkeyboard-config(7). | ||||
| 
 | ||||
| Authors | ||||
| ------- | ||||
| 
 | ||||
| Maintained by Drew DeVault <sir@cmpwn.com>, who is assisted by other open | ||||
| source contributors. For more information about sway development, see | ||||
| <https://github.com/swaywm/sway>. | ||||
| 
 | ||||
| See Also | ||||
| -------- | ||||
| 
 | ||||
| **sway**(5) **swaymsg**(1) **swaygrab**(1) **sway-input**(5) **sway-bar**(5) | ||||
| @ -0,0 +1,578 @@ | ||||
| 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. | ||||
| 
 | ||||
| Lines in the configuration file might be extended through multiple lines by | ||||
| adding a '\\' character at the end of line. e.g.: | ||||
| 
 | ||||
| ``` | ||||
| bindsym Shift+XF86AudioRaiseVolume exec \\ | ||||
| 	pactl set-sink-volume @DEFAULT_SINK@ -1% | ||||
| ``` | ||||
| 
 | ||||
| These commands can be executed in your config file, via *swaymsg*(1), or via | ||||
| the bindsym command. | ||||
| 
 | ||||
| # COMMAND CONVENTIONS | ||||
| 
 | ||||
| Commands are split into several arguments using spaces. You can enclose | ||||
| arguments with quotation marks (*"..."* or *'...'*) to add spaces to a single | ||||
| argument. You may also run several commands in order by separating each with | ||||
| *,* or *;*. | ||||
| 
 | ||||
| Throughout the documentation, *|* is used to distinguish between arguments for | ||||
| which you may only select one. *[...]* is used for optional arguments, and | ||||
| *<...>* for arguments where you are expected to supply some value. | ||||
| 
 | ||||
| # COMMANDS | ||||
| 
 | ||||
| The following commands may only be used in the configuration file. | ||||
| 
 | ||||
| *bar {* <commands...> *}* | ||||
| 	_commands..._ after *{* will be interpreted as bar commands. For | ||||
| 	details, see *sway-bar*(5). A newline is required between *{* and the | ||||
| 	first command, and *}* must be alone on a line. | ||||
| 
 | ||||
| *default\_orientation* horizontal|vertical|auto | ||||
| 	Sets the default container layout for tiled containers. | ||||
| 
 | ||||
| *include* <path> | ||||
| 	Includes another file from _path_. _path_ can be either a full path or a | ||||
| 	path relative to the parent config, and expands shell syntax (see | ||||
| 	*wordexp*(3) for details). The same include file can only be included once; | ||||
| 	subsequent attempts will be ignored. | ||||
| 
 | ||||
| *set* <name> <value> | ||||
| 	Sets variable $_name_ to _value_. You can use the new variable in the | ||||
| 	arguments of future commands. | ||||
| 
 | ||||
| *swaybg\_command* <command> | ||||
| 	Executes custom bg _command_. Default is _swaybg_. Refer to **output** | ||||
| 	below for more information. | ||||
| 
 | ||||
| The following commands cannot be used directly in the configuration file. | ||||
| They are expected to be used with *bindsym* or at runtime through *swaymsg*(1). | ||||
| 
 | ||||
| *border* normal|pixel [<n>] | ||||
| 	Set border style for focused window. _normal_ includes a border of | ||||
| 	thickness _n_ and a title bar. _pixel_ is a border without title bar _n_ | ||||
| 	pixels thick. Default is _normal_ with border thickness 2. | ||||
| 
 | ||||
| *border* none|toggle | ||||
| 	Set border style for focused window to _none_ or _toggle_ between the | ||||
| 	available border styles: _normal_, _pixel_, _none_. | ||||
| 
 | ||||
| *exit* | ||||
| 	Exit sway and end your Wayland session. | ||||
| 
 | ||||
| *floating* enable|disable|toggle | ||||
| 	Make focused view floating, non-floating, or the opposite of what it is now. | ||||
| 
 | ||||
| *focus* up|right|down|left | ||||
| 	Moves focus to the next container in the specified direction. | ||||
| 
 | ||||
| *focus* child | ||||
| 	Moves focus to the last-focused child of the focused container. | ||||
| 
 | ||||
| *focus* parent | ||||
| 	Moves focus to the parent of the focused container. | ||||
| 
 | ||||
| *focus* output up|right|down|left | ||||
| 	Moves focus to the next output in the specified direction. | ||||
| 
 | ||||
| *focus* output <name> | ||||
| 	Moves focus to the named output. | ||||
| 
 | ||||
| *focus* mode\_toggle | ||||
| 	Moves focus between the floating and tiled layers. | ||||
| 
 | ||||
| *fullscreen* | ||||
| 	Toggles fullscreen for the focused view. | ||||
| 
 | ||||
| *layout* splith|splitv|stacking|tabbed | ||||
| 	Sets the layout mode of the focused container. | ||||
| 
 | ||||
| *layout* toggle split | ||||
| 	Switches the focused container between the splitv and splith layouts. | ||||
| 
 | ||||
| *move* left|right|up|down [<px>] | ||||
| 	Moves the focused container in the direction specified. If the container, | ||||
| 	the optional _px_ argument specifies how many pixels to move the container. | ||||
| 	If unspecified, the default is 10 pixels. Pixels are ignored when moving | ||||
| 	tiled containers. | ||||
| 
 | ||||
| *move* container|window to workspace <name> | ||||
| 	Moves the focused container to the specified workspace. | ||||
| 
 | ||||
| *move* container|window to workspace prev|next | ||||
| 	Moves the focused container to the previous or next workspace on this | ||||
| 	output, or if no workspaces remain, the previous or next output. | ||||
| 
 | ||||
| *move* container|window to workspace prev\_on\_output|next\_on\_output | ||||
| 	Moves the focused container to the previous or next workspace on this | ||||
| 	output, wrapping around if already at the first or last workspace. | ||||
| 
 | ||||
| *move* container|window|workspace to output <name> | ||||
| 	Moves the focused container or workspace to the specified output. | ||||
| 
 | ||||
| *move* container|window|workspace to output up|right|down|left | ||||
| 	Moves the focused container or workspace to next output in the specified | ||||
| 	direction. | ||||
| 
 | ||||
| *move* [to] scratchpad | ||||
| 	Moves the focused window to the scratchpad. | ||||
| 
 | ||||
| *reload* | ||||
| 	Reloads the sway config file and applies any changes. | ||||
| 
 | ||||
| *resize* shrink|grow width|height [<amount>] [px|ppt] | ||||
| 	Resizes the currently focused container by _amount_, specified in pixels or | ||||
| 	percentage points. If omitted, floating containers are resized in px and | ||||
| 	tiled containers by ppt. If omitted, the default _amount_ is 10. | ||||
| 
 | ||||
| *resize set* <width> [px] <height> [px] | ||||
| 	Sets the width and height of the currently focused container to _width_ | ||||
| 	pixels and _height_ pixels. The [px] parameters are optional and have no | ||||
| 	effect. This command only accepts a size in pixels. Width and height may be | ||||
| 	specified in either order. | ||||
| 
 | ||||
| *scratchpad show* | ||||
| 	Shows a window from the scratchpad. Repeatedly using this command will | ||||
| 	cycle through the windows in the scratchpad. | ||||
| 
 | ||||
| *split* vertical|v|horizontal|h|toggle|t | ||||
| 	Splits the current container, vertically or horizontally. When _toggle_ is | ||||
| 	specified, the current container is split opposite to the parent | ||||
| 	container's layout. | ||||
| 
 | ||||
| *splith* | ||||
| 	Equivalent to *split horizontal* | ||||
| 
 | ||||
| *splitv* | ||||
| 	Equivalent to *split vertical* | ||||
| 
 | ||||
| *splitt* | ||||
| 	Equivalent to *split toggle* | ||||
| 
 | ||||
| *sticky* enable|disable|toggle | ||||
| 	"Sticks" a floating window to the current output so that it shows up on all | ||||
| 	workspaces. | ||||
| 
 | ||||
| The following commands may be used either in the configuration file or at | ||||
| runtime. | ||||
| 
 | ||||
| *assign* <criteria> [→] <workspace> | ||||
| 	Assigns views matching _criteria_ (see *CRITERIA* for details) to | ||||
| 	_workspace_. The → (U+2192) is optional and cosmetic. This command is | ||||
| 	equivalent to: | ||||
| 	 | ||||
| 		for\_window <criteria> move container to workspace <workspace> | ||||
| 
 | ||||
| *bindsym* <key combo> <command> | ||||
| 	Binds _key combo_ to execute the sway command _command_ when pressed. You | ||||
| 	may use XKB key names here (*xev*(1) is a good tool for discovering these). | ||||
| 
 | ||||
| 	Example: | ||||
| 
 | ||||
| 		# Execute firefox when alt, shift, and f are pressed together | ||||
| 		bindsym Mod1+Shift+f exec firefox | ||||
| 
 | ||||
| 	*bindcode* <code> <command> is also available for binding with key codes | ||||
| 	instead of key names. | ||||
| 
 | ||||
| *client.<class>* <border> <background> <text> <indicator> <child\_border> | ||||
| 	Configures the color of window borders and title bars. All 5 colors are | ||||
| 	required, with the exception of *client.background*, which requires exactly | ||||
| 	one. Colors may be specified in hex, either as _#RRGGBB_ or _#RRGGBBAA_. | ||||
| 
 | ||||
| 	The available classes are: | ||||
| 
 | ||||
| 	*client.background* | ||||
| 		Ignored (present for i3 compatability). | ||||
| 
 | ||||
| 	*client.focused* | ||||
| 		The window that has focus. | ||||
| 
 | ||||
| 	*client.focused\_inactive* | ||||
| 		The most recently focused view within a container which is not focused. | ||||
| 
 | ||||
| 	*client.placeholder* | ||||
| 		Ignored (present for i3 compatability). | ||||
| 
 | ||||
| 	*client.unfocused* | ||||
| 		A view that does not have focus. | ||||
| 
 | ||||
| 	*client.urgent* | ||||
| 		A view with an urgency hint. *Note*: This is not currently implemented. | ||||
| 
 | ||||
| 	The meaning of each color is: | ||||
| 
 | ||||
| 	_border_ | ||||
| 		The border around the title bar. | ||||
| 
 | ||||
| 	_background_ | ||||
| 		The background of the title bar. | ||||
| 
 | ||||
| 	_text_ | ||||
| 		The text color of the title bar. | ||||
| 
 | ||||
| 	_indicator_ | ||||
| 		The color used to indicate where a new view will open. In a tiled | ||||
| 		container, this would paint the right border of the current view if a | ||||
| 		new view would be opened to the right. | ||||
| 
 | ||||
| 	_child\_border_ | ||||
| 		The border around the view itself. | ||||
| 
 | ||||
| The default colors are: | ||||
| 
 | ||||
| [- *class* | ||||
| :[ _border_ | ||||
| :[ _background_ | ||||
| :[ _text_  | ||||
| :[ _indicator_ | ||||
| :[ _child\_border_ | ||||
| |[ *background* | ||||
| :  n/a | ||||
| :  #ffffff | ||||
| :  n/a | ||||
| :  n/a | ||||
| :  n/a | ||||
| |  *focused* | ||||
| :  #4c7899 | ||||
| :  #285577 | ||||
| :  #ffffff | ||||
| :  #2e9ef4 | ||||
| :  #285577 | ||||
| |  *focused\_inactive* | ||||
| :  #333333 | ||||
| :  #5f676a | ||||
| :  #ffffff | ||||
| :  #484e50 | ||||
| :  #5f676a | ||||
| |  *unfocused* | ||||
| :  #333333 | ||||
| :  #222222 | ||||
| :  #888888 | ||||
| :  #292d2e | ||||
| :  #222222 | ||||
| |  *urgent* | ||||
| :  #2f343a | ||||
| :  #900000 | ||||
| :  #ffffff | ||||
| :  #900000 | ||||
| :  #900000 | ||||
| |  *placeholder* | ||||
| :  #000000 | ||||
| :  #0c0c0c | ||||
| :  #ffffff | ||||
| :  #000000 | ||||
| :  #0c0c0c | ||||
| 
 | ||||
| *debuglog* on|off|toggle | ||||
| 	Enables, disables or toggles debug logging. _toggle_ cannot be used in the | ||||
| 	configuration file. | ||||
| 
 | ||||
| *default\_border* normal|none|pixel [<n>] | ||||
| 	Set default border style for new tiled windows. | ||||
| 
 | ||||
| *default\_floating\_border* normal|none|pixel [<n>] | ||||
| 	Set default border style for new floating windows. This only applies to | ||||
| 	windows that are spawned in floating mode, not windows that become floating | ||||
| 	afterwards. | ||||
| 
 | ||||
| *exec* <shell command> | ||||
| 	Executes _shell command_ with sh. | ||||
| 
 | ||||
| *exec\_always* <shell command> | ||||
| 	Like exec, but the shell command will be executed _again_ after *reload*. | ||||
| 
 | ||||
| *floating\_maximum\_size* <width> x <height> | ||||
| 	Specifies the maximum size of floating windows. -1 x -1 removes the upper | ||||
| 	limit. | ||||
| 
 | ||||
| *floating\_minimum\_size* <width> x <height> | ||||
| 	Specifies the minimum size of floating windows. The default is 75 x 50. | ||||
| 
 | ||||
| *floating\_modifier* <modifier> [normal|inverse] | ||||
| 	When the _modifier_ key is held down, you may hold left click to move | ||||
| 	windows, and right click to resize them. If _inverse_ is specified, left | ||||
| 	click is used for resizing and right click for moving. | ||||
| 
 | ||||
| *floating\_scroll* up|right|down|left [command] | ||||
| 	Sets a command to be executed when the mouse wheel is scrolled in the | ||||
| 	specified direction while holding the floating modifier. Resets the | ||||
| 	command, when given no arguments. | ||||
| 
 | ||||
| *focus\_follows\_mouse* yes|no | ||||
| 	If set to _yes_, moving your mouse over a window will focus that window. | ||||
| 
 | ||||
| *font* <font> | ||||
| 	Sets font for use in title bars in Pango format. | ||||
| 
 | ||||
| *for\_window* <criteria> <command> | ||||
| 	Whenever a window that matches _criteria_ appears, run list of commands. | ||||
| 	See *CRITERIA* for more details. | ||||
| 
 | ||||
| *gaps* edge\_gaps on|off|toggle | ||||
| 	When _on_, gaps will be added between windows and workspace edges if the | ||||
| 	inner gap is nonzero. When _off_, gaps will only be added between views. | ||||
| 	_toggle_ cannot be used in the configuration file. | ||||
| 
 | ||||
| *gaps* <amount> | ||||
| 	Sets _amount_ pixels of gap between windows and around each workspace. | ||||
| 
 | ||||
| *gaps* inner|outer <amount> | ||||
| 	Sets default _amount_ pixels of _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. | ||||
| 
 | ||||
| *hide\_edge\_borders* none|vertical|horizontal|both|smart | ||||
| 	Hides window borders adjacent to the screen edges. Default is _none_. | ||||
| 
 | ||||
| *input* <input\_device> *{* <commands...> *}* | ||||
| 	_commands..._ after *{* will be interpreted as input commands applying to | ||||
| 	the specified input device. For details, see *sway-input*(5). A newline is | ||||
| 	required between *{* and the first command, and *}* must be alone on a | ||||
| 	line. | ||||
| 
 | ||||
| 	\* may be used in lieu of a specific device name to configure all input | ||||
| 	devices. A list of input device names may be obtained via *swaymsg -t | ||||
| 	get\_inputs*. | ||||
| 
 | ||||
| *seat* <seat> *{* <commands...> *}* | ||||
| 	_commands..._ after *{* will be interpreted as seat commands applying to | ||||
| 	the specified seat. For details, see *sway-input*(5). A newline is required | ||||
| 	between *{* and the first command, and *}* must be alone on a line. | ||||
| 
 | ||||
| *seat* <seat> cursor move|set <x> <y> | ||||
| 	Move specified seat's cursor relative to current position or wrap to | ||||
| 	absolute coordinates (with respect to the global coordinate space). | ||||
| 	Specifying either value as 0 will not update that coordinate. | ||||
| 
 | ||||
| *seat* <seat> cursor press|release left|right|1|2|3... | ||||
| 	Simulate pressing (or releasing) the specified mouse button on the | ||||
| 	specified seat. | ||||
| 
 | ||||
| *kill* | ||||
| 	Kills (closes) the currently focused container and all of its children. | ||||
| 
 | ||||
| *smart\_gaps* on|off | ||||
| 	If smart\_gaps are _on_ gaps will only be enabled if a workspace has more | ||||
| 	than one child. | ||||
| 
 | ||||
| *mark* --add|--replace [--toggle] <identifier> | ||||
| 	Marks are arbitrary labels that can be used to identify certain windows and | ||||
| 	then jump to them at a later time. By default, *mark* sets _identifier_ as | ||||
| 	the only mark on a window. _--add_ will instead add _identifier_ to the | ||||
| 	list of current marks. If _--toggle_ is specified mark will remove | ||||
| 	_identifier_ if it is already marked. | ||||
| 
 | ||||
| *mode* <mode> | ||||
| 	Switches to the specified mode. The default mode _default_. | ||||
| 
 | ||||
| *mode* <mode> *{* <commands...> *}* | ||||
| 	_commands..._ after *{* will be added to the specified mode. A newline is | ||||
| 	required between *{* and the first command, and *}* must be alone on a | ||||
| 	line. Only *bindsym* and *bindcode* commands are permitted in mode blocks. | ||||
| 
 | ||||
| *mouse\_warping* output|none | ||||
| 	If _output_ is specified, the mouse will be moved to new outputs as you | ||||
| 	move focus between them. | ||||
| 
 | ||||
| *no\_focus* <criteria> | ||||
| 	Prevents windows matching <criteria> from being focused automatically when | ||||
| 	they're created. This has no effect on the first window in a workspace. | ||||
| 
 | ||||
| *output* <name> mode|resolution|res <WIDTHxHEIGHT>[@<RATE>[Hz]] | ||||
| 	Configures the specified output to use the given mode. Modes are a | ||||
| 	combination of width and height (in pixels) and a refresh rate that your | ||||
| 	display can be configured to use. For a list of available modes for each | ||||
| 	output, use *swaymsg -t get\_outputs*. | ||||
| 
 | ||||
| 	Examples: | ||||
| 
 | ||||
| 	output HDMI-A-1 mode 1920x1080 | ||||
| 
 | ||||
| 	output HDMI-A-1 mode 1920x1080@60Hz | ||||
| 
 | ||||
| *output* <name> position|pos <X,Y> | ||||
| 	Places the specified output at the specific position in the global | ||||
| 	coordinate space. | ||||
| 
 | ||||
| *output* <name> scale <factor> | ||||
| 	Scales the specified output by the specified scale _factor_. An integer is | ||||
| 	recommended, but fractional values are also supported. If a fractional | ||||
| 	value are specified, be warned that it is not possible to faithfully | ||||
| 	represent the contents of your windows - they will be rendered at the next | ||||
| 	highest integral scale factor and downscaled. You may be better served by | ||||
| 	setting an integral scale factor and adjusting the font size of your | ||||
| 	applications to taste. | ||||
| 
 | ||||
| *output* <name> background|bg <file> <mode> | ||||
| 	Sets the wallpaper for the given output to the specified file, using the | ||||
| 	given scaling mode (one of "stretch", "fill", "fit", "center", "tile"). | ||||
| 
 | ||||
| **output** <name> background|bg <color> solid\_color | ||||
| 	Sets the background of the given output to the specified color. _color_ | ||||
| 	should be specified as _#RRGGBB_. Alpha is not supported. | ||||
| 
 | ||||
| **output** <name> transform <transform> | ||||
| 	Sets the background transform to the given value. Can be one of "90", "180", | ||||
| 	"270" for rotation; or "flipped", "flipped-90", "flipped-180", "flipped-270" | ||||
| 	to apply a rotation and flip, or "normal" to apply no transform. | ||||
| 
 | ||||
| *output* <name> disable|enable | ||||
| 	Enables or disables the specified output (all outputs are enabled by | ||||
| 	default). | ||||
| 
 | ||||
| *NOTES FOR THE OUTPUT COMMANDS* | ||||
| 
 | ||||
| You may combine output commands into one, like so: | ||||
| 
 | ||||
| 	output HDMI-A-1 mode 1920x1080 pos 1920,0 bg ~/wallpaper.png stretch | ||||
| 
 | ||||
| You can get a list of output names with *swaymsg -t get\_outputs*. You may also | ||||
| match any output by using the output name "\*". Be sure to add this output | ||||
| config after the others, or it will be matched instead of the others. | ||||
| 
 | ||||
| *show\_marks* on|off | ||||
| 	If *show\_marks* is on, marks will be displayed in the window borders. | ||||
| 	Any mark that starts with an underscore will not be drawn even if the | ||||
| 	option is on. The default is _on_. | ||||
| 
 | ||||
| *opacity* <value> | ||||
| 	Set the opacity of the window between 0 (completely transparent) and 1 | ||||
| 	(completely opaque). | ||||
| 
 | ||||
| *unmark* [<identifier>] | ||||
| 	*unmark* will remove _identifier_ from the list of current marks on a | ||||
| 	window. If _identifier_ is omitted, all marks are removed. | ||||
| 
 | ||||
| *workspace* [number] <name> | ||||
| 	Switches to the specified workspace. The string "number" is optional and is | ||||
| 	used to sort workspaces. | ||||
| 
 | ||||
| *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 workspace _name_ should be shown on the specified _output_. | ||||
| 
 | ||||
| *workspace\_auto\_back\_and\_forth* yes|no | ||||
| 	When _yes_, repeating a workspace switch command will switch back to the | ||||
| 	prior workspace. For example, if you are currently on workspace 1, | ||||
| 	switch to workspace 2, then invoke the "workspace 2" command again, you | ||||
| 	will be returned to workspace 1. Default is _no_. | ||||
| 
 | ||||
| *workspace\_layout* default|stacking|tabbed | ||||
| 	Specifies the initial layout for new workspaces. | ||||
| 
 | ||||
| # CRITERIA | ||||
| 
 | ||||
| A criteria is a string in the form of, for example: | ||||
| 
 | ||||
| ``` | ||||
| [class="[Rr]egex.*" title="some title"] | ||||
| ``` | ||||
| 
 | ||||
| The string contains one or more (space separated) attribute/value pairs. They | ||||
| are used by some commands to choose which views to execute actions on. All | ||||
| attributes must match for the criteria to match. | ||||
| 
 | ||||
| Criteria may be used with either the *for\_window* or *assign* commands to | ||||
| specify operations to perform on new views. A criteria may also be used to | ||||
| perform specific commands (ones that normally act upon one window) on all views | ||||
| that match that criteria. For example: | ||||
| 
 | ||||
| Focus on a window with the mark "IRC": | ||||
| 
 | ||||
| ``` | ||||
| [con_mark="IRC"] focus | ||||
| ``` | ||||
| 
 | ||||
| Kill all windows with the title "Emacs": | ||||
| 
 | ||||
| ``` | ||||
| [class="Emacs"] kill | ||||
| ``` | ||||
| 
 | ||||
| Mark all Firefox windows with "Browser": | ||||
| 
 | ||||
| ``` | ||||
| [class="Firefox"] mark Browser | ||||
| ``` | ||||
| 
 | ||||
| The following attributes may be matched with: | ||||
| 
 | ||||
| *app\_id* | ||||
| 	Compare value against the app id. Can be a regular expression. If value is | ||||
| 	\_\_focused\_\_, then the app id must be the same as that of the currently | ||||
| 	focused window. | ||||
| 
 | ||||
| *class* | ||||
| 	Compare value against the window class. Can be a regular expression. If | ||||
| 	value is \_\_focused\_\_, then the window class must be the same as that of | ||||
| 	the currently focused window. | ||||
| 
 | ||||
| *con\_id* | ||||
| 	Compare against the internal container ID, which you can find via IPC. | ||||
| 
 | ||||
| *con\_mark* | ||||
| 	Compare against the window marks. Can be a regular expression. | ||||
| 
 | ||||
| *floating* | ||||
| 	Matches floating windows. | ||||
| 
 | ||||
| *id* | ||||
| 	Compare value against the X11 window ID. Must be numeric. | ||||
| 
 | ||||
| *instance* | ||||
| 	Compare value against the window instance. Can be a regular expression. If | ||||
| 	value is \_\_focused\_\_, then the window instance must be the same as that | ||||
| 	of the currently focused window. | ||||
| 
 | ||||
| *tiling* | ||||
| 	Matches tiling windows. | ||||
| 
 | ||||
| *title* | ||||
| 	Compare against the window title. Can be a regular expression. If value is | ||||
| 	\_\_focused\_\_, then the window title must be the same as that of the | ||||
| 	currently focused window. | ||||
| 
 | ||||
| *urgent* | ||||
| 	Compares the urgent state of the window. Can be "latest" or "oldest". | ||||
| 
 | ||||
| *window\_role* | ||||
| 	Compare against the window role (WM\_WINDOW\_ROLE). Can be a regular | ||||
| 	expression. If value is \_\_focused\_\_, then the window role must be the | ||||
| 	same as that of the currently focused window. | ||||
| 
 | ||||
| *window\_type* | ||||
| 	Compare against the window type (\_NET\_WM\_WINDOW\_TYPE). Possible values | ||||
| 	are normal, dialog, utility, toolbar, splash, menu, dropdown\_menu, | ||||
| 	popup\_menu, tooltip and notification. | ||||
| 
 | ||||
| *workspace* | ||||
| 	Compare against the workspace name for this view. Can be a regular | ||||
| 	expression. If the value is \_\_focused\_\_, then all the views on the | ||||
| 	currently focused workspace matches. | ||||
| @ -1,544 +0,0 @@ | ||||
| ///// | ||||
| 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. | ||||
| 
 | ||||
| Lines in the configuration file might be extended through multiple lines by | ||||
| adding a '\' character at the end of line. e.g.: | ||||
| 
 | ||||
| 	bindsym Shift+XF86AudioRaiseVolume exec pactl set-sink-volume \ | ||||
| 		$(pactl list sinks | grep -B 1 RUNNING | sed '1q;d' | sed 's/[^0-9]\+//g') +5% | ||||
| 
 | ||||
| These commands can be executed in your config file, via **swaymsg**(1), or via | ||||
| the bindsym command. | ||||
| 
 | ||||
| Commands | ||||
| -------- | ||||
| 
 | ||||
| The following commands may only be used in the configuration file. | ||||
| 
 | ||||
| **bar** <block of commands>:: | ||||
| 	Append _{_ to this command, the following lines will be commands that | ||||
| 	configure **swaybar**, and _}_ on its own line to close the block. | ||||
| 	+ | ||||
| 	See **sway-bar**(5) for details. | ||||
| 
 | ||||
| **default_orientation** <horizontal|vertical|auto>:: | ||||
| 	Sets the default container layout for tiled containers. | ||||
| 
 | ||||
| **set** <name> <value>:: | ||||
| 	Sets variable $name to _value_. You can use the new variable in the arguments | ||||
| 	of future commands. | ||||
| 
 | ||||
| **swaybg_command** <command>:: | ||||
| 	Executes custom bg command, default is _swaybg_. | ||||
| 
 | ||||
| The following commands cannot be used directly in the configuration file. | ||||
| They are expected to be used with **bindsym** or at runtime through **swaymsg**(1). | ||||
| 
 | ||||
| **border** <normal|pixel> [<n>]:: | ||||
| 	Set border style for focused window. _normal_ includes a border of thickness | ||||
| 	_n_ and a title bar. _pixel_ is a border without title bar _n_ pixels thick. | ||||
| 	Default is _normal_ with border thickness 2. | ||||
| 
 | ||||
| **border** <none|toggle>:: | ||||
| 	Set border style for focused window to _none_ or _toggle_ between the | ||||
| 	available border styles: _normal_, _pixel_, _none_. | ||||
| 
 | ||||
| **exit**:: | ||||
| 	Exit sway and end your Wayland session. | ||||
| 
 | ||||
| **floating** <enable|disable|toggle>:: | ||||
| 	Make focused view floating, non-floating, or the opposite of what it is now. | ||||
| 
 | ||||
| **focus** <direction>:: | ||||
| 	Direction may be one of _up_, _down_, _left_, _right_, _next_, _prev_, | ||||
| 	_parent_, or _child_. The directional focus commands will move the focus | ||||
| 	in that direction. The _next_ and _prev_ directions will focus the next, | ||||
| 	respectively previous, element in the current container. 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. | ||||
| 
 | ||||
| **fullscreen**:: | ||||
| 	Toggles fullscreen status for the focused view. | ||||
| 
 | ||||
| **layout** <mode>:: | ||||
| 	Sets the layout mode of the focused container. _mode_ can be one of _splith_, | ||||
| 	_splitv_, _toggle split_, _stacking_, _tabbed_. | ||||
| 
 | ||||
| **layout** auto <mode>:: | ||||
| 	Sets layout to one of the auto modes, i.e. one of _left_, _right_, _top_, | ||||
| 	or _bottom_. | ||||
| 
 | ||||
| **layout** auto <next|prev>:: | ||||
| 	Cycles between available auto layouts. | ||||
| 
 | ||||
| **layout** auto [master|ncol] [inc|set] <n>:: | ||||
| 	Modify the number of master elements, respectively slave columns, in the | ||||
| 	focused container. <n> can be a positive or negative integer. These commands | ||||
| 	only have an effect if the focused container uses one of the "auto" layouts. | ||||
| 
 | ||||
| **layout** toggle split:: | ||||
| 	Cycles between available split layouts. | ||||
| 
 | ||||
| **move** <left|right|up|down> <[px]>:: | ||||
| 	Moves the focused container _left_, _right_, _up_, or _down_. If the window | ||||
| 	is floating it moves it _px_ in that direction, defaulting to 10. Tiled | ||||
| 	containers are moved the same regardless of the _px_ argument. | ||||
| 
 | ||||
| **move** <next|prev|first>:: | ||||
| 	Moving to _prev_ or _next_ swaps the container with its sibling in the same | ||||
| 	container. Move _first_ exchanges the focused element in an auto layout with | ||||
| 	the first element, i.e. promotes the focused element to master position. | ||||
| 
 | ||||
| **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**. | ||||
| 
 | ||||
| **move** <container|window|workspace> to output <name|direction>:: | ||||
| 	Moves the focused container or workspace to the output identified by _name_ or | ||||
| 	_direction_. _direction_ may be one of _up_, _down_, _left_, _right_. | ||||
| 
 | ||||
| **move** [to] scratchpad:: | ||||
| 	Moves the focused window to the scratchpad. | ||||
| 
 | ||||
| **reload**:: | ||||
| 	Reloads the sway config file without restarting sway. | ||||
| 
 | ||||
| **resize** <shrink|grow> <width|height> [<amount>] [px|ppt]:: | ||||
| 	Resizes the currently focused container or view by _amount_. _amount_ is | ||||
| 	optional: the default value is 10 (either px or ppt depending on the view type). | ||||
| 	The [px|ppt] parameter is optional. _px_ specifies that _amount_ refers to pixels; | ||||
| 	_ppt_ specifies that _amount_ refers to percentage points of the current | ||||
| 	size. Floating views use px by default (but can use ppt if specified); tiled | ||||
| 	views use ppt by default (but can use px if specified). | ||||
| 
 | ||||
| **resize set** <width> [px] <height> [px]:: | ||||
| 	Sets the width and height of the currently focused container to _width_ pixels | ||||
| 	and _height_ pixels. The [px] parameters are optional and have no effect. This | ||||
| 	command only accepts a size in pixels. | ||||
| 
 | ||||
| **resize set** <width|height> <amount> [px] [<width|height> <amount> [px]]:: | ||||
| 	Sets the _width_ and/or _height_ of the currently focused container to | ||||
| 	_amount_. The [px] parameters are optional and have no effect. This command | ||||
| 	only accepts a size in pixels. | ||||
| 
 | ||||
| **scratchpad show**:: | ||||
| 	Shows a window from the scratchpad. Repeatedly using this command will cycle | ||||
| 	through the windows in the scratchpad. | ||||
| 
 | ||||
| **split** <vertical|v|horizontal|h|toggle|t>:: | ||||
| 	Splits the current container, vertically or horizontally. If toggled, then the | ||||
| 	current container is split opposite to the parent container. | ||||
| 
 | ||||
| **splith**:: | ||||
| 	Equivalent to **split horizontal**. | ||||
| 
 | ||||
| **splitv**:: | ||||
| 	Equivalent to **split vertical**. | ||||
| 
 | ||||
| **splitt**:: | ||||
| 	Equivalent to **split toggle**. | ||||
| 
 | ||||
| **sticky** <enable|disable|toggle>:: | ||||
| 	"Sticks" a floating window to the current output so that it shows up on all | ||||
| 	workspaces. | ||||
| 
 | ||||
| The following commands may be used either in the configuration file | ||||
| or triggered at runtime. | ||||
| 
 | ||||
| **assign** <criteria> [→] <workspace>:: | ||||
| 	Assigns views matching _criteria_ (see **Criteria** section below) to | ||||
| 	_workspace_. The → (U+2192) is optional and purely for aesthetics. This | ||||
| 	command is exactly equivalent to "for_window <criteria> move container to | ||||
| 	workspace <workspace>". | ||||
| 
 | ||||
| **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. | ||||
| 	+ | ||||
| 	**bindcode** <code> <command> is also available for binding with key codes | ||||
| 	instead of key names. | ||||
| 
 | ||||
| **client**.<color_class> <border> <background> <text> <indicator> <child_border>:: | ||||
| 	The client commands control the colors of the view borders and title bars. All | ||||
| 	client commands _require_ five color values. (The one exception is | ||||
| 	**client.background** which _requires_ one color value.) If you only want to | ||||
| 	specify a subset, supply default colors for all the others. Colors must be | ||||
| 	defined in hex. i.e. _#rrggbb_ or _#rrggbbaa_, when including the alpha | ||||
| 	channel. | ||||
| 	+ | ||||
| 	The command tokens are: | ||||
| 		**color_class**::: Specifies the view to which the colors apply. | ||||
| 			**client.background**:::: The color a view will be painted, underneath the | ||||
| 			client itself. This will only be visible if a client does not fully | ||||
| 			cover its allocated view space. This command only requires one color. _Note_: | ||||
| 			This is not currently implemented. | ||||
| 			**client.focused**:::: The view that has focus. | ||||
| 			**client.focused_inactive**:::: A view that has focus within its | ||||
| 			container, but the container is not focused. | ||||
| 			**client.placeholder**:::: Used when drawing placeholder view contents. | ||||
| 			Only background and text colors are used. _Note_: This is not | ||||
| 			currently implemented. | ||||
| 			**client.unfocused**:::: A view that does not have focus. | ||||
| 			**client.urgent**:::: A view with an urgency hint. _Note_: This is not | ||||
| 			currently implemented. | ||||
| 		**border**::: The border around the title bar. | ||||
| 		**background**::: The background of the title bar. | ||||
| 		**text**::: The text color of the title bar. | ||||
| 		**indicator**::: The color used to indicate where a new view will open. In a | ||||
| 		tiled container, this would paint the right border of the current view if | ||||
| 		a new view would be opened to the right. | ||||
| 		**child_border**::: The border around the view itself. | ||||
| 
 | ||||
| + | ||||
| The default colors are: | ||||
| + | ||||
| -- | ||||
| [options="header"] | ||||
| |=========================================================================== | ||||
| |color_class      |border    |background |text      |indicator |child_border | ||||
| |background       |n/a       |#ffffff  |n/a       |n/a       |n/a | ||||
| |focused          |#4c7899 |#285577  |#ffffff |#2e9ef4 |#285577 | ||||
| |focused_inactive |#333333 |#5f676a  |#ffffff |#484e50 |#5f676a | ||||
| |unfocused        |#333333 |#222222  |#888888 |#292d2e |#222222 | ||||
| |urgent           |#2f343a |#900000  |#ffffff |#900000 |#900000 | ||||
| |placeholder      |#000000 |#0c0c0c  |#ffffff |#000000 |#0c0c0c | ||||
| |=========================================================================== | ||||
| -- | ||||
| 
 | ||||
| **debuglog** <on|off|toggle>:: | ||||
| 	Enables, disables or toggles debug logging. The toggle argument cannot be used | ||||
| 	in the configuration file. | ||||
| 
 | ||||
| **default_border** <normal|none|pixel> [<n>]:: | ||||
| 	Set default border style for new windows. This command was previously called | ||||
| 	**new_window**. While **new_window** still works, it is considered deprecated | ||||
| 	and support for it will be removed in the future. | ||||
| 
 | ||||
| **default_floating_border** <normal|none|pixel> [<n>]:: | ||||
| 	Set default border style for new floating windows. This only applies to | ||||
| 	windows that are spawned in floating mode, not windows that become floating | ||||
| 	after the fact. This command was previously called **new_float**. While | ||||
| 	**new_float** still works, it is considered deprecated and support for it will | ||||
| 	be removed in the future. | ||||
| 
 | ||||
| **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. | ||||
| 
 | ||||
| **floating_maximum_size** <width> x <height>:: | ||||
| 	Specifies the maximum size of floating windows. | ||||
| 	Uses the container size as default. | ||||
| 	-1 x -1 will remove any restriction on size. | ||||
| 	0 x 0 has the same behavior as not setting any value. | ||||
| 	If in conflict, this option has precedence over floating_minimum_size. | ||||
| 
 | ||||
| **floating_minimum_size** <width> x <height>:: | ||||
| 	Specifies the minimum size of floating windows. | ||||
| 	Default parameters are 75 x 50. | ||||
| 	-1 and 0 are invalid parameters, default will be used instead. | ||||
| 
 | ||||
| **floating_modifier** <modifier> [normal|inverse]:: | ||||
| 	When the _modifier_ key is held down, you may hold left click to move floating | ||||
| 	windows, and right click to resize them. Unlike i3, this modifier may also be | ||||
| 	used to resize and move windows that are tiled. With the _inverse_ mode | ||||
| 	enabled, left click is used for resizing and right click for dragging. The | ||||
| 	mode parameter is optional and defaults to _normal_ if it isn't defined. | ||||
| 
 | ||||
| **floating_scroll** <up|down|left|right> [command]:: | ||||
| 	Sets a command to be executed when the mouse wheel is scrolled in the | ||||
| 	specified direction while holding the floating modifier. Resets the command, | ||||
| 	when given no arguments. | ||||
| 
 | ||||
| **focus_follows_mouse** <yes|no>:: | ||||
| 	If set to _yes_, moving your mouse over a window will focus that window. | ||||
| 
 | ||||
| **font** <font>:: | ||||
| 	Sets font for use in title bars. Generally the format is something like "Name | ||||
| 	Style Size" e.g. "Deja Vu Sans Book 12". You can also use Pango font | ||||
| 	descriptions with "pango:font". | ||||
| 
 | ||||
| **for_window** <criteria> <command>:: | ||||
| 	Whenever a window that matches _criteria_ appears, run list of commands. See | ||||
| 	**Criteria** section below. | ||||
| 
 | ||||
| **gaps** edge_gaps <on|off|toggle>:: | ||||
| 	Whether or not to add gaps between views and workspace edges if amount of | ||||
| 	inner gap is not zero. When _off_, no gap is added where the view is aligned to | ||||
| 	the workspace edge, effectively creating gaps only between views. The toggle | ||||
| 	argument cannot be used in the configuration file. | ||||
| 
 | ||||
| **gaps** <amount>:: | ||||
| 	Sets default _amount_ pixels as the gap between each view, and around each | ||||
| 	workspace. | ||||
| 
 | ||||
| **gaps** <inner|outer> <amount>:: | ||||
| 	Sets default _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. | ||||
| 
 | ||||
| **hide_edge_borders** <none|vertical|horizontal|both|smart>:: | ||||
| 	Hide window borders adjacent to the screen edges. Default is _none_. | ||||
| 
 | ||||
| **input** <input_device> <block of commands>:: | ||||
| 	Append _{_ to this command, the following lines will be commands to configure | ||||
| 	the named input device, and _}_ on its own line will close the block. | ||||
| 	+ | ||||
| 	**input * <block of commands>** may be used to match all input devices. | ||||
| 	+ | ||||
| 	See **sway-input**(5) for details. | ||||
| 
 | ||||
| **seat** <seat_name> <block of commands>:: | ||||
| 	Append _{_ to this command, the following lines will be commands to configure | ||||
| 	the named seat, and _}_ on its own line will close the block. | ||||
| 	See **sway-input**(5) for details. | ||||
| 
 | ||||
| **seat** <seat_name> cursor <move|set> <x> <y>:: | ||||
| 	Move cursor relatively to current position or set to absolute screen position. | ||||
| 	A value of 0 causes the axis to be ignored in both commands. | ||||
| 
 | ||||
| **seat** <seat_name> cursor <press|release> <left|right|1|2|3...>:: | ||||
| 	Simulate press of mouse button specified by left, right, or numerical code. | ||||
| 
 | ||||
| **kill**:: | ||||
| 	Kills (force-closes) the currently-focused container and all of its children. | ||||
| 
 | ||||
| **smart_gaps** <on|off>:: | ||||
| 	If smart_gaps are _on_ then gaps will only be enabled if a workspace has more | ||||
| 	than one child container. | ||||
| 
 | ||||
| **mark** \<--add|--replace> \<--toggle> <identifier>:: | ||||
| 	Marks are arbitrary labels that can be used to identify certain windows and | ||||
| 	then jump to them at a later time. By default, the **mark** command sets | ||||
| 	_identifier_ as the only mark on a window. By specifying _--add_, mark will | ||||
| 	add _identifier_ to the list of current marks. If _--toggle_ is specified mark | ||||
| 	will remove _identifier_ if it is already a label. Marks may be found by using | ||||
| 	a criteria. See the **Criteria** section below. | ||||
| 
 | ||||
| **mode** <mode_name>:: | ||||
| 	Switches to the given mode_name. The default mode is simply _default_. To | ||||
| 	create a new mode append _{_ to this command, the following lines | ||||
| 	will be keybindings for that mode, and _}_ on its own line to close the block. | ||||
| 
 | ||||
| **mouse_warping** <output|none>:: | ||||
| 	When _output_: place mouse at center of newly focused window when changing | ||||
| 	output. When _none_: don't move mouse. | ||||
| 
 | ||||
| **no_focus** <criteria>:: | ||||
| 	Prevents windows matching <criteria> from being focused automatically when | ||||
| 	they're created. This does not apply to the first window in a workspace. | ||||
| 
 | ||||
| **output** <name> mode|resolution|res <WIDTHxHEIGHT>[@<RATE>[Hz]]:: | ||||
| 	Configures the specified output to use the given mode. Modes are a combination | ||||
| 	of width and height (in pixels) and a refresh rate that your display can be | ||||
| 	configured to use. For a list of available modes, use swaymsg -t get_outputs. | ||||
| 	+ | ||||
| 	Examples: | ||||
| 	+ | ||||
| 	output HDMI-A-1 mode 1920x1080 | ||||
| 	+ | ||||
| 	output HDMI-A-1 mode 1920x1080@60Hz | ||||
| 
 | ||||
| **output** <name> position|pos <X,Y>:: | ||||
| 	Configures the specified output to be arranged at the given position. | ||||
| 
 | ||||
| **output** <name> scale <I>:: | ||||
| 	Configures the specified output to be scaled up by the specified integer | ||||
| 	scaling factor (usually 2 for HiDPI screens). Fractional scaling is supported. | ||||
| 
 | ||||
| **output** <name> background|bg <file> <mode>:: | ||||
| 	Sets the wallpaper for the given output to the specified file, using the given | ||||
| 	scaling mode (one of "stretch", "fill", "fit", "center", "tile"). | ||||
| 
 | ||||
| **output** <name> background|bg <color> solid_color:: | ||||
| 	Sets the background of the given output to the specified color. _color_ should | ||||
| 	be specified as an _#rrggbb_ (no alpha) color. | ||||
| 
 | ||||
| **output** <name> transform <transform>:: | ||||
| 	Sets the background transform to the given value. Can be one of "90", "180", | ||||
| 	"270" for rotation; or "flipped", "flipped-90", "flipped-180", "flipped-270" | ||||
| 	to apply a rotation and flip, or "normal" to apply no transform. | ||||
| 
 | ||||
| **output** <name> disable:: | ||||
| 	Disables the specified output. | ||||
| 
 | ||||
| **NOTES FOR THE OUTPUT COMMAND**:: | ||||
| 	You may combine output commands into one, like so: | ||||
| 	+ | ||||
| 	output HDMI-A-1 mode 1920x1080 pos 1920,0 bg ~/wallpaper.png stretch | ||||
| 	+ | ||||
| 	You can get a list of output names like so: | ||||
| 	+ | ||||
| 	swaymsg -t get_outputs | ||||
| 	+ | ||||
| 	You may also match any output by using the output name "*". Be sure to add | ||||
| 	this output config after the others, or it will be matched instead of the | ||||
| 	others. | ||||
| 
 | ||||
| **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. | ||||
| 
 | ||||
| **show_marks** <on|off>:: | ||||
| 	If **show_marks** is on then marks will be showed in the window decoration. | ||||
| 	However, any mark that starts with an underscore will not be drawn even if the | ||||
| 	option is on. The default option is _on_. | ||||
| 
 | ||||
| **opacity** <value>:: | ||||
| 	Set the opacity of the window between 0 (completely transparent) and 1 | ||||
| 	(completely opaque). | ||||
| 
 | ||||
| **unmark** <identifier>:: | ||||
| 	**Unmark** will remove _identifier_ from the list of current marks on a window. If | ||||
| 	no _identifier_ is specified, then **unmark** will remove all marks. | ||||
| 
 | ||||
| **workspace** [number] <name>:: | ||||
| 	Switches to the specified workspace. The string "number" is optional. The | ||||
| 	workspace _name_, if unquoted, may not contain the string "output", as sway | ||||
| 	will assume that the command is moving a workspace to an output, as described | ||||
| 	below. | ||||
| 
 | ||||
| **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_. | ||||
| 
 | ||||
| **workspace_auto_back_and_forth** <yes|no>:: | ||||
| 	When _yes_, repeating a workspace switch command will switch back to the | ||||
| 	prior workspace. For example, if you are currently on workspace 1, | ||||
| 	switch to workspace 2, then invoke the "workspace 2" command again, you | ||||
| 	will be returned to workspace 1. Defaults to _no_. | ||||
| 
 | ||||
| **workspace_layout** <default|stacking|tabbed|auto|auto left|auto right|auto | ||||
| 	top|auto bottom>:: Specifies the start layout for new workspaces. | ||||
| 
 | ||||
| **include** <path>:: | ||||
| 	Includes a sub config file by _path_. _path_ can be either a full path or a | ||||
| 	path relative to the parent config. | ||||
| 
 | ||||
| Criteria | ||||
| -------- | ||||
| 
 | ||||
| A criteria is a string in the form of e.g.: | ||||
| 
 | ||||
| 	[class="[Rr]egex.*" title="some title"] | ||||
| 
 | ||||
| The string contains one or more (space separated) attribute/value pairs. They | ||||
| are used by some commands to choose which views to execute actions on. All attributes | ||||
| must match for the criteria to match. | ||||
| 
 | ||||
| Criteria may be used with either the **for_window** or **assign** commands to | ||||
| specify operations to perform on new views. A criteria may also be used to | ||||
| perform specific commands (ones that normally act upon one window) on all views | ||||
| that match that criteria. For example: | ||||
| 
 | ||||
| Focus on a window with the mark "IRC": | ||||
| 	[con_mark="IRC"] focus | ||||
| 
 | ||||
| Kill all windows with the title "Emacs": | ||||
| 	[class="Emacs"] kill | ||||
| 
 | ||||
| Mark all Firefox windows with "Browser": | ||||
| 	[class="Firefox"] mark Browser | ||||
| 
 | ||||
| Currently supported attributes: | ||||
| 
 | ||||
| **app_id**:: | ||||
| 	Compare value against the app id. Can be a regular expression. If value is | ||||
| 	__focused__, then the app id must be the same as that of the currently | ||||
| 	focused window. | ||||
| 
 | ||||
| **class**:: | ||||
| 	Compare value against the window class. Can be a regular expression. If | ||||
| 	value is __focused__, then the window class must be the same as that of the | ||||
| 	currently focused window. | ||||
| 
 | ||||
| **con_id**:: | ||||
| 	Compare against the internal container ID, which you can find via IPC. | ||||
| 
 | ||||
| **con_mark**:: | ||||
| 	Compare against the window marks. Can be a regular expression. | ||||
| 
 | ||||
| **floating**:: | ||||
| 	Matches against floating windows. | ||||
| 
 | ||||
| **id**:: | ||||
| 	Compare value against the X11 window id. Must be numeric. | ||||
| 
 | ||||
| **instance**:: | ||||
| 	Compare value against the window instance. Can be a regular expression. If | ||||
| 	value is __focused__, then the window instance must be the same as that of | ||||
| 	the currently focused window. | ||||
| 
 | ||||
| **tiling**:: | ||||
| 	Matches against tiling windows. | ||||
| 
 | ||||
| **title**:: | ||||
| 	Compare against the window title. Can be a regular expression. If value is | ||||
| 	__focused__, then the window title must be the same as that of the currently | ||||
| 	focused window. | ||||
| 
 | ||||
| **urgent**:: | ||||
| 	Compares the urgent state of the window. Can be "latest" or "oldest". | ||||
| 
 | ||||
| **window_role**:: | ||||
| 	Compare against the window role (WM_WINDOW_ROLE). Can be a regular | ||||
| 	expression. If value is __focused__, then the window role must be the same | ||||
| 	as that of the currently focused window. | ||||
| 
 | ||||
| **window_type**:: | ||||
| 	Compare against the window type (_NET_WM_WINDOW_TYPE). Possible values are | ||||
| 	normal, dialog, utility, toolbar, splash, menu, dropdown_menu, popup_menu, | ||||
| 	tooltip and notification. | ||||
| 
 | ||||
| **workspace**:: | ||||
| 	Compare against the workspace name for this view. Can be a regular | ||||
| 	expression. If the value is __focused__, then all the views on the currently | ||||
| 	focused workspace matches. | ||||
| 
 | ||||
| See Also | ||||
| -------- | ||||
| 
 | ||||
| **sway**(1) **sway-input**(5) **sway-bar**(5) | ||||
					Loading…
					
					
				
		Reference in new issue