aboutsummaryrefslogtreecommitdiff
path: root/sway/sway.5.scd
AgeCommit message (Collapse)Author
2020-05-20sway.5: make formatting more consistentMartin Michlmayr
2020-05-13commands: Add per-view shortcuts_inhibitor commandMichael Weiser
Add a separate per-view shortcuts_inhibitor command that can be used with criteria to override the per-seat defaults. This allows to e.g. disable shortcuts inhibiting globally but enable it for specific, known-good virtualization and remote desktop software or, alternatively, to blacklist that one slightly broken piece of software that just doesn't seem to get it right but insists on trying. Add a flag to sway_view and handling logic in the input manager that respects that flag if configured but falls back to per-seat config otherwise. Add the actual command but with just enable and disable subcommands since there's no value in duplicating the per-seat activate/deactivate/toggle logic here. Split the inhibitor retrieval helper in two so we can use the backend half in the command to retrieve inhibitors for a specific surface and not just the currently focused one. Extend the manual page with documentation of the command and references to its per-seat sibling and usefulness with criteria. Signed-off-by: Michael Weiser <michael.weiser@gmx.de>
2020-05-11Simplify repaint scheduling documentationKenny Levinsen
The current documentation for repaint scheduling is very technical and somewhat confusing. Closes: https://github.com/swaywm/sway/issues/4769
2020-04-27man: add note about sway-input and sway-output pagesSimon Ser
2020-04-20scdoc: unbindcode --input-device, not input-deviceIhor Kalnytskyi
Apparently, there's a typo in Sway's man page where `input-device` of `unbindcode` command has no dashes.
2020-04-02Reference wev instead of xevTobi Fuhrimann
2020-03-30add --no-repeat option for bindingsLinus Heckemann
This allows e.g. triggering one command while a key is held, then triggering another to undo the change performed by it afterwards. One use case for this is triggering push-to-talk functionality for VoIP tools without granting them full access to all input events. Fixes #3151
2020-03-29Change focus_on_window_activation default to urgentSimon Ser
Before the default was "smart". This means a visible app could steal focus whenever it wanted to. This can be an issue since having focus allows for e.g. clipboard access. This commit changes the default to "urgent" instead. Closes: https://github.com/swaywm/sway/issues/5139
2020-03-28sway.5: fix missing background scaling mode in a block examplerinpatch
2020-03-11input: Add support for keyboard shortcuts inhibitMichael Weiser
Adding support for the keyboard shortcuts inhibit protocol allows remote desktop and virtualisation software to receive all keyboard input in order to pass it through to their clients so users can fully interact the their remote/virtual session. The software usually provides its own key combination to release its "grab" to all keyboard input. The inhibitor can be deactivated by the user by removing focus from the surface using another input device such as the pointer. Use support for the procotol in wlroots to add support to sway. Extend the input manager with handlers for inhibitor creation and destruction and appropriate bookkeeping. Attach the inhibitors to the seats they apply to to avoid having to search the list of all currently existing inhibitors on every keystroke and passing the inhibitor manager around. Add a helper function to retrieve the inhibitor applying to the currently focused surface of a seat, if one exists. Extend bindsym with a flag for bindings that should be processed even if an inhibitor is active. Conversely this disables all normal shortcuts if an inhibitor is found for the currently focused surface in keyboard::handle_key_event() since they don't have that flag set. Use above helper function to determine if an inhibitor exists for the surface that would eventually receive input. Signed-off-by: Michael Weiser <michael.weiser@gmx.de>
2020-02-29sway.5: correct description of workspace [number]Brian Ashworth
This correct the description of the commmand: workspace [--no-auto-back-and-forth] [number] <[num:]name> Previously, the number and num pieces were being confused. This also documents the behavior of the --no-auto-back-and-forth flag.
2020-02-27Introduce pid criteria tokenRyan Dwyer
This can be used as a workaround to flag terminal windows as urgent when commands are completed, until urgency is introduced in the Wayland protocol. Configure your shell to run `swaymsg "[pid=$PPID] urgent enable"` when commands are completed, and use a terminal which uses one process per window.
2020-01-20Add documentation for floating_modifierAlex Maese
2020-01-16sway.5: Document missing bindsym flags for unbindsymRonan Pigott
sway.5: Remove indents within long command descriptions
2019-12-29cmd_client_*: support optional args for i3 compatBrian Ashworth
For i3 compatibility, allow the indicator and child_border colors values to be optional. The indicator will fallback to sane defaults and child_border will fallback to the background color for the class.
2019-11-17view: add max_render_timeIvan Molodetskikh
2019-11-04smart_borders: separate smartness from edge typesRonan Pigott
2019-10-27focus: support focus prev|next [sibling]Ronan Pigott
2019-10-17focus: support focus_wrapping workspacelbonn
Following i3 support: https://github.com/i3/i3/pull/3407
2019-10-16sway(5): move workspace_layout to config onlyRouven Czerwinski
According to the source files, workspace_layout is a configuration only command, move it to the correct section within the man page.
2019-10-09sway(5): Highlight valid values in the description of tiling_dragWieland Hoffmann
2019-10-09sway(5): Add a missing verbWieland Hoffmann
2019-09-05sway.5: clarify that a marks are unqiueBrian Ashworth
This just clarifies that a mark can only be set for a single window since they are used as unique identifiers
2019-09-04swaybar: complete barconfig_update event handlingBrian Ashworth
This adds complete support for the barconfig_update ipc event. This also changes the bar command and subcommand handlers to correctly emit the event. This makes it so all bar subcommands other than id and swaybar_command are dynamically changeable at runtime. sway-bar.5 has been updated accordingly
2019-08-25Fix formatting for title_format in man 5 swayMichael Aquilina
Use explicit linebreaks to make scdoc use a separate line for each entry listed
2019-08-22sway.5: remove mention of floating_scrollBrian Ashworth
It looks like floating_scroll was still in the sway(5) man page as a remnant of the 0.x era. This just removes it from the man page since it is no longer a valid command. Mouse bindings with Button4-7 can be used instead
2019-08-20cmd_xwayland: add force for immediate launchBrian Ashworth
This just adds a force option to cmd_xwayland that allows for xwayland to be immediately launched instead of lazily launched. This is useful for slower machines so it can be part of the startup time instead of when the user is actively trying to use it
2019-08-16sway{,-bar}.5: add link to pango font descriptionBrian Ashworth
This just specifies that both cmd_font and bar_cmd_font should be specified using the pango font description and adds a link to the pango documentation regarding the font description
2019-08-07sway.5: explain how to enable pango markup in fontBrian Ashworth
This clarifies the syntax to use for the font command to enable pango markup support.
2019-08-05cmd_opacity: add relative opacity changesJeff Peeler
This enhances the opacity command to support relative assignment as well as the currently implemented absolute assignment. The syntax is copied from the same format that gaps uses for relative and absolute setting. An example usage in a sway config looks like: // relative change (this feature) bindsym button4 opacity plus .1 bindsym button5 opacity minus .1 // absolute change (this feature) bindsym button4 opacity set 1 bindsym button5 opacity set .3 // old way, still supported bindsym button4 opacity 1 bindsym button5 opacity .3
2019-08-01bindsym/code: add group supportBrian Ashworth
This adds support for specifying a binding for a specific group. Any binding without a group listed will be available in all groups. The priority for matching bindings is as follows: input device, group, and locked state. For full compatibility with i3, this also adds Mode_switch as an alias for Group2. Since i3 only supports this for backwards compatibility with older versions of i3, it is implemented here, but not documented.
2019-07-31Fix typo in sway(5) manpagePaul Ouellette
2019-07-17Add missing description for focus_on_window_activation command in docs.rpigott
2019-07-09cmd_bindswitch: add option to execute on reloadBrian Ashworth
This adds a --reload flag to cmd_bindswitch that allows for the binding to be executed on reload. One possible use case for this is to allow users to disable outputs when the lid closes and enable them when the lid opens without having to open and re-close the lid after a reload.
2019-06-14Add missing underscore in bindswitch documentationRobert Sacks
The missing underscore after "toggle" causes the underline to continue for a whole sentence.
2019-06-05criteria: reset on semicolon separationBrian Ashworth
This matches i3's behavior of only retaining criteria across comma separated commands. When separating commands with a semicolon, the criteria is reset and allows for new criteria to be set, if desired.
2019-05-30bindings: allow unlocked and locked bindingsBrian Ashworth
This changes the behavior of bindings to make the `BINDING_LOCKED` flag conflicting, which will allow for both unlocked and locked bindings. If there are two matching bindings and one has `--locked` and the other does not, the one with `--locked` will be preferred when locked and the one without will be preferred when unlocked. If there are two matching bindings and one has both a matching `--input-device=<input>` and `--locked` and the other has neither, the former will be preferred for both unlocked and locked. This also refactors `get_active_binding` in `sway/input/keyboard.c` to make it easier to read.
2019-05-14Add infos to help using for_window to man 5Nomeji
2019-04-30sway.5.scd: clarify workspace config commandsBrian Ashworth
This clarifies that `workspace <name> output <outputs...>` and `workspace <name> gaps ...` do not operate on existing workspaces. Additionally, alternate commands/solutions that operate on existing workspaces are listed.
2019-04-30cmd_move: add support for output currentBrian Ashworth
This adds support for the following commands for i3 compatibility: - `move [window|container] [to] output current` - `move workspace to [output] current` - `move workspace [to] output current` The above commands are only useful when used with criteria.
2019-04-26bindsym: update the man page to include --to-codeKonstantin Pospelov
2019-04-19cmd_move: allow for all i3 syntax optionsBrian Ashworth
This modifies cmd_move to allow for the syntax options allowed by i3. The following syntaxes are supported: - `move left|right|up|down [<amount> [px]]` - `move [--no-auto-back-and-forth] [window|container] [to] workspace <name>|next|prev|next_on_output|prev_on_output|current|number <num>` - `move [window|container] [to] output <name/id>|left|right|up|down` - `move [window|container] [to] mark <mark>` - `move workspace to [output] <name/id>|left|right|up|down` - `move [window|container] [to] [absolute] position <x> [px] <y> [px]` - `move [window|container] [to] [absolute] position center` - `move [window|container] [to] position mouse|cursor|pointer` This also allows retains the following syntax option that is not supported by i3, but is supported in sway 1.0: - `move workspace [to] output <name/id>|left|right|up|down` The changes are: - `window` and `container` are now optional - `output` is now optional for `move workspace` when `to` is given There is also stricter command checking now. If `absolute` or `--no-auto-back-and-forth` are given for commands that do not support them, it will be treated as invalid syntax instead of being silently ignored.
2019-04-17Add unbindswitch commandAlex Maese
2019-04-17Create unbindsym and unbindcode commandsAlex Maese
2019-04-16Add documentation for rename workspaceAshkan Kiani
2019-04-14Add deprecation warnings for new_float, new_window, and force_focus_wrapping.Connor E
2019-03-24Implement inhibit_idle commandBrian Ashworth
This implements the following command to set/unset a user idle inhibitor for a view: `inhibit_idle focus|fullscreen|open|none|visible` The modes are as follows: - focus: inhibited when the view is focused by any seat - fullscreen: inhibited when the view is fullscreen (or a descendant of a fullscreen container) and is visible on any output - open: inhibited until the view is closed or the inhibitor is unset or changed - none: unsets any user set idle inhibitors for the view - visible: inhibited when the view is visible on any output This should have no effect on idle inhibitors set by the applications themselves and those should still work as intended. Since this operates on the view in the handler context, it is possible to set it on the currently focused view, on any existing view with criteria, or for any future view with for_window.
2019-03-23cmd_mode: allow cmd_set to be a subcommandBrian Ashworth
This allows set to be used in mode blocks
2019-03-19Support WLR_INPUT_DEVICE_SWITCH in swayRyan Walklin
This commit adds support for laptop lid and tablet mode switches as provided by evdev/libinput and handled by wlroots. Adds a new bindswitch command with syntax: bindswitch <switch>:<state> <command> Where <switch> is one of: tablet for WLR_SWITCH_TYPE_TABLET_MODE lid for WLR_SWITCH_TYPE_LID <state> is one of: on for WLR_SWITCH_STATE_ON off for WLR_SWITCH_STATE_OFF toggle for WLR_SWITCH_STATE_TOGGLE (Note that WLR_SWITCH_STATE_TOGGLE doesn't map to libinput and will trigger at both on and off events)
2019-03-18Document the title_format commandRyan Dwyer