COMMANDS¶
This section only lists general commands. For input and output
commands, refer to sway-input(5) and sway-output(5).
The following commands may only be used in the configuration
file.
bar [<bar-id>] <bar-subcommands...>
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.
swaybg_command <command>
Executes custom background
command. Default is
swaybg. Refer to
sway-output(5) for more information.
It can be disabled by setting the command to a single dash:
swaybg_command -
swaynag_command <command>
Executes custom command for
swaynag. Default is
swaynag. Additional arguments may be appended to the end. This should
only be used to either direct sway to call swaynag from a custom path or to
provide additional arguments. This should be placed at the top of the config
for the best results.
It can be disabled by setting the command to a single dash:
swaynag_command -
workspace_layout default|stacking|tabbed
Specifies the initial layout for new containers in an
empty workspace.
xwayland enable|disable|force
Enables or disables Xwayland support, which allows X11
applications to be used. enable will lazily load Xwayland so Xwayland
will not be launched until the first client attempts to connect. In some
cases, such as slower machines, it may be desirable to have Xwayland started
immediately by using force instead of enable.
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 none|normal|csd|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. csd is short for client-side-decorations, which
allows the client to draw its own decorations.
border toggle
Cycles through the available border styles.
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.
<criteria> focus
Moves focus to the container that matches the specified
criteria.
focus up|right|down|left
Moves focus to the next container in the specified
direction.
focus prev|next [sibling]
Moves focus to the previous or next container in the
current layout. By default, the last active child of the newly focused
container will be focused. The sibling option indicates not to
immediately focus a child of the container.
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 tiling
Sets focus to the last focused tiling container.
focus floating
Sets focus to the last focused floating container.
focus mode_toggle
Moves focus between the floating and tiled layers.
fullscreen [enable|disable|toggle] [global]
Makes focused view fullscreen, non-fullscreen, or the
opposite of what it is now. If no argument is given, it does the same as
toggle. If global is specified, the view will be fullscreen
across all outputs.
gaps inner|outer|horizontal|vertical|top|right|bottom|left
all|current set|plus|minus|toggle <amount>
Changes the inner or outer gaps for either
all workspaces or the current workspace. outer gaps can
be altered per side with top, right, bottom, and
left or per direction with horizontal and vertical.
inhibit_idle focus|fullscreen|open|none|visible
Set/unset an idle inhibitor for the view.
focus
will inhibit idle when the view is focused by any seat.
fullscreen will
inhibit idle when the view is fullscreen (or a descendant of a fullscreen
container) and is visible.
open will inhibit idle until the view is
closed (or the inhibitor is unset/changed).
visible will inhibit idle
when the view is visible on any output.
none will remove any existing
idle inhibitor for the view.
This can also be used with criteria to set an idle inhibitor for
any existing view or with for_window to set idle inhibitors for
future views.
layout default|splith|splitv|stacking|tabbed
Sets the layout mode of the focused container.
layout toggle [split|all]
Cycles the layout mode of the focused container though a
preset list of layouts. If no argument is given, then it cycles through
stacking, tabbed and the last split layout. If split is given, then it
cycles through splith and splitv. If all is given, then it cycles
through every layout.
layout toggle [split|tabbed|stacking|splitv|splith]
[split|tabbed|stacking|splitv|splith]...
Cycles the layout mode of the focused container through a
list of layouts.
max_render_time off|<msec>
Controls when the relevant application is told to render
this window, as a positive number of milliseconds before the next time sway
composites the output. A smaller number leads to fresher rendered frames being
composited by sway and lower perceived input latency, but if set too low, the
application may not finish rendering before sway composites the output,
leading to delayed frames.
When set to off, the relevant application is told to render this
window immediately after display refresh. How much time is left for
rendering before sway composites the output at that point depends on the
output max_render_time setting.
To set this up for optimal latency:
2.Put the target application in full-screen and
have it continuously render something.
3.Start by setting
max_render_time 1. If the
application drops frames, increment by
1.
This setting only has an effect if a per-output
max_render_time is in effect on the output the window is currently
on. See sway-output(5) for further details.
move left|right|up|down [<px> 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 [absolute] position <pos_x> [px|ppt]
<pos_y> [px|ppt]
Moves the focused container to the specified position in
the workspace. The position can be specified in pixels or percentage points,
omitting the unit defaults to pixels. If absolute is used, the position
is relative to all outputs. absolute can not be used with percentage
points.
move [absolute] position center
Moves the focused container to be centered on the
workspace. If absolute is used, it is moved to the center of all
outputs.
move position cursor|mouse|pointer
Moves the focused container to be centered on the
cursor.
move [container|window] [to] mark <mark>
Moves the focused container to the specified mark.
move [--no-auto-back-and-forth] [container|window] [to]
workspace [number] <name>
Moves the focused container to the specified workspace.
The string number is optional and is used to match a workspace with the
same number, even if it has a different name.
move [container|window] [to] workspace
prev|next|current
Moves the focused container to the previous, next or
current 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] [to] workspace back_and_forth
Moves the focused container to previously focused
workspace.
move [container|window] [to] output
<name-or-id>|current
Moves the focused container to the specified
output.
move [container|window] [to] output up|right|down|left
Moves the focused container to next output in the
specified direction.
move [container|window] [to] scratchpad
Moves the focused container to the scratchpad.
move workspace [to] output <name-or-id>|current
Moves the focused workspace to the specified
output.
move workspace to [output] <name-or-id>|current
Moves the focused workspace to the specified
output.
move workspace [to] output up|right|down|left
Moves the focused workspace to next output in the
specified direction.
move workspace to [output] up|right|down|left
Moves the focused workspace to next output in the
specified direction.
nop <comment>
A no operation command that can be used to override
default behaviour. The optional comment argument is ignored, but logged for
debugging purposes.
reload
Reloads the sway config file and applies any changes. The
config file is located at path specified by the command line arguments when
started, otherwise according to the priority stated in
sway(1).
rename workspace [<old_name>] to <new_name>
Rename either <old_name> or the focused workspace
to the <new_name>
resize shrink|grow width|height [<amount>
[px|ppt]]
Resizes the currently focused container by amount,
specified in pixels or percentage points. If the units are omitted, floating
containers are resized in px and tiled containers by ppt. amount will
default to 10 if omitted.
resize set height <height> [px|ppt]
Sets the height of the container to height,
specified in pixels or percentage points. If the units are omitted, floating
containers are resized in px and tiled containers by ppt. If height is
0, the container will not be resized.
resize set [width] <width> [px|ppt]
Sets the width of the container to width,
specified in pixels or percentage points. If the units are omitted, floating
containers are resized in px and tiled containers by ppt. If width is
0, the container will not be resized.
resize set [width] <width> [px|ppt] [height]
<height> [px|ppt]
Sets the width and height of the container to
width and height, specified in pixels or percentage points. If
the units are omitted, floating containers are resized in px and tiled
containers by ppt. If width or height is 0, the container will
not be resized on that axis.
scratchpad show
Shows a window from the scratchpad. Repeatedly using this
command will cycle through the windows in the scratchpad.
shortcuts_inhibitor enable|disable
Enables or disables the ability of clients to inhibit
keyboard shortcuts for a view. This is primarily useful for virtualization and
remote desktop software. It affects either the currently focused view or a set
of views selected by criteria. Subcommand
disable additionally
deactivates any active inhibitors for the given view(s). Criteria are
particularly useful with the
for_window command to configure a class of
views differently from the per-seat defaults established by the
seat
subcommand of the same name. See
sway-input(5) for more ways to affect
inhibitors.
split vertical|v|horizontal|h|none|n|toggle|t
Splits the current container, vertically or horizontally.
When none is specified, the effect of a previous split is undone if the
current container is the only child of a split parent. 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.
swap container with id|con_id|mark <arg>
Swaps the position, geometry, and fullscreen status of
two containers. The first container can be selected either by criteria or
focus. The second container can be selected by id, con_id, or
mark. id can only be used with xwayland views. If the first
container has focus, it will retain focus unless it is moved to a different
workspace or the second container becomes fullscreen on the same workspace as
the first container. In either of those cases, the second container will gain
focus.
title_format <format>
Sets the format of window titles. The following
placeholders may be used:
%title - The title supplied by the window
%app_id - The wayland app ID (applicable to wayland windows only)
%class - The X11 classname (applicable to xwayland windows only)
%instance - The X11 instance (applicable to xwayland windows only)
%shell - The protocol the window is using (typically xwayland or
xdg_shell)
This command is typically used with for_window criteria.
For example:
for_window [title="."] title_format
"<b>%title</b> (%app_id)"
Note that markup requires pango to be enabled via the font
command.
The default format is "%title".
The following commands may be used either in the configuration
file or at runtime.
assign <criteria> [→] [workspace] [number]
<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>
assign <criteria> [→] output
left|right|up|down|<name>
Assigns views matching
criteria (see
CRITERIA for details) to the specified output. The → (U+2192) is
optional and cosmetic. This command is equivalent to:
for_window <criteria> move container to output
<output>
bindsym [--whole-window] [--border] [--exclude-titlebar]
[--release] [--locked] [--to-code] [--input-device=<device>]
[--no-warn] [--no-repeat] [Group<1-4>+]<key combo>
<command>
Binds
key combo to execute the sway command
command when pressed. You may use XKB key names here (
wev(1) is
a good tool for discovering these). With the flag
--release, the
command is executed when the key combo is released. If
input-device is
given, the binding will only be executed for that input device and will be
executed instead of any binding that is generic to all devices. If a group
number is given, then the binding will only be available for that group. By
default, if you overwrite a binding, swaynag will give you a warning. To
silence this, use the
--no-warn flag.
Unless the flag --locked is set, the command will not be
run when a screen locking program is active. If there is a matching binding
with and without --locked, the one with will be preferred when locked
and the one without will be preferred when unlocked. If there are matching
bindings and one has both --input-device and --locked and the
other has neither, the former will be preferred even when unlocked.
Unless the flag --inhibited is set, the command will not be
run when a keyboard shortcuts inhibitor is active for the currently focused
window. Such inhibitors are usually requested by remote desktop and
virtualization software to enable the user to send keyboard shortcuts to the
remote or virtual session. The --inhibited flag allows one to define
bindings which will be exempt from pass-through to such software. The same
preference logic as for --locked applies.
Unless the flag --no-repeat is set, the command will be run
repeatedly when the key is held, according to the repeat settings specified
in the input configuration.
Bindings to keysyms are layout-dependent. This can be changed with
the --to-code flag. In this case, the keysyms will be translated into
the corresponding keycodes in the first configured layout.
Mouse bindings operate on the container under the cursor instead
of the container that has focus. Mouse buttons can either be specified in
the form button[1-9] or by using the name of the event code (ex
BTN_LEFT or BTN_RIGHT). For the former option, the buttons
will be mapped to their values in X11 (1=left, 2=middle, 3=right, 4=scroll
up, 5=scroll down, 6=scroll left, 7=scroll right, 8=back, 9=forward). For
the latter option, you can find the event names using libinput
debug-events.
The priority for matching bindings is as follows: input device,
group, and locked state.
--whole-window, --border, and
--exclude-titlebar are mouse-only options which affect the region in
which the mouse bindings can be triggered. By default, mouse bindings are
only triggered when over the title bar. With the --border option, the
border of the window will be included in this region. With the
--whole-window option, the cursor can be anywhere over a window
including the title, border, and content. --exclude-titlebar can be
used in conjunction with any other option to specify that the titlebar
should be excluded from the region of consideration.
If --whole-window is given, the command can be triggered
when the cursor is over an empty workspace. Using a mouse binding over a
layer surface's exclusive region is not currently possible.
Example:
# Execute firefox when alt, shift, and f are pressed together
bindsym Mod1+Shift+f exec firefox
bindcode [--whole-window] [--border]
[--exclude-titlebar] [--release] [--locked] [--input-device=<device>]
[--no-warn] [Group<1-4>+]<code> <command> is also available
for binding with key/button codes instead of key/button names.
bindswitch [--locked] [--no-warn] [--reload]
<switch>:<state> <command>
Binds <switch> to execute the sway command
command on state changes. Supported switches are
lid (laptop
lid) and
tablet (tablet mode) switches. Valid values for
state
are
on,
off and
toggle. These switches are on when the
device lid is shut and when tablet mode is active respectively.
toggle
is also supported to run a command both when the switch is toggled on or off.
Unless the flag --locked is set, the command will not be
run when a screen locking program is active. If there is a matching binding
with and without --locked, the one with will be preferred when locked
and the one without will be preferred when unlocked.
If the --reload flag is given, the binding will also be
executed when the config is reloaded. toggle bindings will not be
executed on reload. The --locked flag will operate as normal so if
the config is reloaded while locked and --locked is not given, the
binding will not be executed.
By default, if you overwrite a binding, swaynag will give you a
warning. To silence this, use the --no-warn flag.
Example:
# Show the virtual keyboard when tablet mode is entered.
bindswitch tablet:on busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true
# Log a message when the laptop lid is opened or closed.
bindswitch lid:toggle exec echo "Lid moved"
client.background <color>
This command is ignored and is only present for i3
compatibility.
client.<class> <border> <background>
<text> [<indicator> [<child_border>]]
Configures the color of window borders and title bars.
The first three colors are required. When omitted
indicator will use a
sane default and
child_border will use the color set for
background. Colors may be specified in hex, either as
#RRGGBB or
#RRGGBBAA.
The available classes are:
client.focused
The window that has focus.
client.focused_inactive
The most recently focused view within a container which
is not focused.
client.focused_tab_title
A view that has focused descendant container. Tab or
stack container title that is the parent of the focused container but is not
directly focused. Defaults to focused_inactive if not specified and does not
use the indicator and child_border colors.
client.placeholder
Ignored (present for i3 compatibility).
client.unfocused
A view that does not have focus.
client.urgent
A view with an urgency hint. Note: Native Wayland
windows do not support urgency. Urgency only works for Xwayland windows.
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 |
focused_tab_title |
#333333 |
#5f676a |
#ffffff |
n/a |
n/a |
unfocused |
#333333 |
#222222 |
#888888 |
#292d2e |
#222222 |
urgent |
#2f343a |
#900000 |
#ffffff |
#900000 |
#900000 |
placeholder |
#000000 |
#0c0c0c |
#ffffff |
#000000 |
#0c0c0c |
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. The default is 0 x 0, which will use the width and
height of the entire output layout as the maximums
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. Setting
modifier to none disables this feature. If inverse is
specified, left click is used for resizing and right click for moving.
focus_follows_mouse yes|no|always
If set to yes, moving your mouse over a window
will focus that window. If set to always, the window under the cursor
will always be focused, even after switching between workspaces.
focus_on_window_activation smart|urgent|focus|none
This option determines what to do when an xwayland client
requests window activation. If set to urgent, the urgent state will be
set for that window. If set to focus, the window will become focused.
If set to smart, the window will become focused only if it is already
visible, otherwise the urgent state will be set. Default is
urgent.
focus_wrapping yes|no|force|workspace
This option determines what to do when attempting to
focus over the edge of a container. If set to no, the focused container
will retain focus, if there are no other containers in the direction. If set
to yes, focus will be wrapped to the opposite edge of the container, if
there are no other containers in the direction. If set to force, focus
will be wrapped to the opposite edge of the container, even if there are other
containers in the direction. If set to workspace, focus will wrap like
in the yes case and additionally wrap when moving outside of workspaces
boundaries. Default is yes.
font [pango:]<font>
Sets font to use for the title bars. To enable support
for pango markup, preface the font name with
pango:. For example,
monospace 10 is the default font. To enable support for pango markup,
pango:monospace 10 should be used instead. Regardless of whether pango
markup is enabled,
font should be specified as a pango font
description. For more information on pango font descriptions, see
https://docs.gtk.org/Pango/type_func.FontDescription.from_string.html#description
force_display_urgency_hint <timeout> [ms]
If an application on another workspace sets an urgency
hint, switching to this workspace may lead to immediate focus of the
application, which also means the window decoration color would be immediately
reset to client.focused. This may make it unnecessarily hard to tell
which window originally raised the event. This option allows one to set a
timeout in ms to delay the urgency hint reset.
titlebar_border_thickness <thickness>
Thickness of the titlebar border in pixels
titlebar_padding <horizontal> [<vertical>]
Padding of the text in the titlebar. horizontal
value affects horizontal padding of the text while vertical value
affects vertical padding (space above and below text). Padding includes
titlebar borders so their value should be greater than
titlebar_border_thickness. If vertical value is not specified it is set
to the horizontal value.
for_window <criteria> <command>
Whenever a window that matches criteria appears,
run list of commands. See CRITERIA for more details.
gaps inner|outer|horizontal|vertical|top|right|bottom|left
<amount>
Sets default
amount pixels of
inner or
outer gap, where the inner affects spacing around each view and outer
affects the spacing around each workspace. Outer gaps are in addition to inner
gaps. To reduce or remove outer gaps, outer gaps can be set to a negative
value.
outer gaps can also be specified per side with
top,
right,
bottom, and
left or per direction with
horizontal and
vertical.
This affects new workspaces only, and is used when the workspace
doesn't have its own gaps settings (see: workspace <ws> gaps ...).
hide_edge_borders [--i3]
none|vertical|horizontal|both|smart|smart_no_gaps
Hides window borders adjacent to the screen edges.
Default is none. The --i3 option enables i3-compatible behavior
to hide the title bar on tabbed and stacked containers with one child. The
smart|smart_no_gaps options are equivalent to setting
smart_borders smart|no_gaps and hide_edge_borders none.
input <input_device> <input-subcommands...>
For details on input subcommands, see
sway-input(5).
* 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> <seat-subcommands...>
kill
Kills (closes) the currently focused container and all of
its children.
smart_borders on|no_gaps|off
If smart_borders are on, borders will only be
enabled if the workspace has more than one visible child. If smart_borders is
set to no_gaps, borders will only be enabled if the workspace has more
than one visible child and gaps equal to zero.
smart_gaps on|off|toggle|inverse_outer
If smart_gaps are on gaps will only be enabled if
a workspace has more than one child. If smart_gaps are inverse_outer
outer gaps will only be enabled if a workspace has exactly 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. Each identifier
can only be set on a single window at a time since they act as a unique
identifier. By default, mark sets identifier as the only mark on
a window. --add will instead add identifier to the list of
current marks for that window. If --toggle is specified mark will
remove identifier if it is already marked.
mode <mode>
Switches to the specified mode. The default mode is
default.
mode [--pango_markup] <mode>
<mode-subcommands...>
The only valid mode-subcommands... are
bindsym, bindcode, bindswitch, and set. If
--pango_markup is given, then mode will be interpreted as pango
markup.
mouse_warping output|container|none
If output is specified, the mouse will be moved to
new outputs as you move focus between them. If container is specified,
the mouse will be moved to the middle of the container on switch. Default is
output.
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 <output_name>
<output-subcommands...>
For details on output subcommands, see
sway-output(5).
* may be used in lieu of a specific output name to configure all
outputs. A list of output names may be obtained via swaymsg -t
get_outputs.
popup_during_fullscreen smart|ignore|leave_fullscreen
Determines what to do when a fullscreen view opens a
dialog. If smart (the default), the dialog will be displayed. If
ignore, the dialog will not be rendered. If leave_fullscreen,
the view will exit fullscreen mode and the dialog will be rendered.
set $<name> <value>
Sets variable $name to value. You can use
the new variable in the arguments of future commands. When the variable is
used, it can be escaped with an additional $ (ie $$name) to have the
replacement happen at run time instead of when reading the config. However, it
does not always make sense for the variable to be replaced at run time since
some arguments do need to be known at config time.
show_marks yes|no
If show_marks is yes, marks will be displayed in
the window borders. Any mark that starts with an underscore will not be drawn
even if show_marks is yes. The default is yes.
opacity [set|plus|minus] <value>
Adjusts the opacity of the window between 0 (completely
transparent) and 1 (completely opaque). If the operation is omitted,
set will be used.
tiling_drag enable|disable|toggle
Sets whether or not tiling containers can be dragged with
the mouse. If enabled (default), the floating_mod can be used to
drag tiling, as well as floating, containers. Using the left mouse button on
title bars without the floating_mod will also allow the container to be
dragged. toggle should not be used in the config file.
tiling_drag_threshold <threshold>
Sets the threshold that must be exceeded for a container
to be dragged by its titlebar. This has no effect if floating_mod is
used or if tiling_drag is set to disable. Once the threshold has
been exceeded once, the drag starts and the cursor can come back inside the
threshold without stopping the drag. threshold is multiplied by the
scale of the output that the cursor on. The default is 9.
title_align left|center|right
Sets the title alignment. If right is selected and
show_marks is set to yes, the marks will be shown on the
left side instead of the right side.
unbindswitch <switch>:<state>
Removes a binding for when <switch> changes to
<state>.
unbindsym [--whole-window] [--border] [--exclude-titlebar]
[--release] [--locked] [--to-code] [--input-device=<device>] <key
combo>
Removes the binding for
key combo that was
previously bound with the given flags. If
input-device is given, only
the binding for that input device will be unbound.
unbindcode [--whole-window] [--border] [--exclude-titlebar]
[--release] [--locked] [--input-device=<device>] <code> is also
available for unbinding with key/button codes instead of key/button
names.
unmark [<identifier>]
unmark will remove identifier from the list
of current marks on a window. If identifier is omitted, all marks are
removed.
urgent enable|disable|allow|deny
Using enable or disable manually sets or
unsets the window's urgent state. Using allow or deny controls
the window's ability to set itself as urgent. By default, windows are allowed
to set their own urgency.
workspace [--no-auto-back-and-forth] [number]
<[num:]name>
Switches to the specified workspace. The
num:
portion of the name is optional and will be used for ordering. If
num:
is not given and
name is a number, then it will be also be used for
ordering.
If the no-auto-back-and-forth option is given, then this
command will not perform a back-and-forth operation when the workspace is
already focused and workspace_auto_back_and_forth is enabled.
If the number keyword is specified and a workspace with the
number already exists, then the workspace with the number will be used. If a
workspace with the number does not exist, a new workspace will be created
with the name name.
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 back_and_forth
Switches to the previously focused workspace.
workspace <name> gaps
inner|outer|horizontal|vertical|top|right|bottom|left <amount>
Specifies that workspace
name should have the
given gaps settings when it is created.
This command does not affect existing workspaces. To alter the
gaps of an existing workspace, use the gaps command.
workspace <name> output <outputs...>
Specifies that workspace
name should be shown on
the specified
outputs. Multiple outputs can be listed and the first
available will be used. If the workspace gets placed on an output further down
the list and an output that is higher on the list becomes available, the
workspace will be moved to the higher priority output.
This command does not affect existing workspaces. To move an
existing workspace, use the move command in combination with the
workspace criteria (non-empty workspaces only) or workspace
command (to switch to the workspace before moving).
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.