-
-
Notifications
You must be signed in to change notification settings - Fork 809
Module: Sway
The mode
module displays the current binding mode of sway.
Addressed by sway/mode
option | typeof | default | description |
---|---|---|---|
format |
string | {} |
The format, how information should be displayed. On {} data gets inserted. |
rotate |
integer | Positive value to rotate the text label. | |
max-length |
integer | The maximum length in character the module should display. | |
on-click |
string | Command to execute when clicked on the module. | |
on-click-middle |
string | Command to execute when you middle clicked on the module using mousewheel. | |
on-click-right |
string | Command to execute when you right clicked on the module. | |
on-scroll-up |
string | Command to execute when scrolling up on the module. | |
on-scroll-down |
string | Command to execute when scrolling down on the module. | |
smooth-scrolling-threshold |
double | Threshold to be used when scrolling. | |
tooltip |
bool | true |
Option to enable tooltip on hover. |
"sway/mode": {
"format": " {}",
"max-length": 50
}
#mode
The window
module displays the title of the currently focused window in sway.
Addressed by sway/window
option | typeof | default | description |
---|---|---|---|
format |
string | {} |
The format, how information should be displayed. On {} data gets inserted. |
rotate |
integer | Positive value to rotate the text label. | |
max-length |
integer | The maximum length in character the module should display. | |
on-click |
string | Command to execute when clicked on the module. | |
on-click-right |
string | Command to execute when you right clicked on the module. | |
on-scroll-up |
string | Command to execute when scrolling up on the module. | |
on-scroll-down |
string | Command to execute when scrolling down on the module. | |
smooth-scrolling-threshold |
double | Threshold to be used when scrolling. | |
tooltip |
bool | true |
Option to disable tooltip on hover. |
rewrite |
object | {} |
Rules to rewrite window title. See rewrite rules. |
rewrite
is an object where keys are regular expressions and values are rewrite rules if the expression matches. Rules may contain references to captures of the expression.
Regular expression and replacement follow ECMAScript rules (formal definition).
An expression must match fully to trigger the replacement; if no expression matches, the title is left unchanged.
Invalid expressions (e.g., mismatched parentheses) are ignored.
"sway/window": {
"format": "{}",
"max-length": 50,
"rewrite": {
"(.*) - Mozilla Firefox": "🌎 $1",
"(.*) - vim": " $1",
"(.*) - zsh": " [$1]"
}
}
#window
-
window#waybar.empty
When no windows is in the workspace -
window#waybar.solo
When one window is in the workspace -
window#waybar.<app_id>
Whereapp_id
is the app_id orinstance
name like (chromium
) of the only window in the workspace
The workspaces
module displays the currently used workspaces in sway.
Addressed by sway/workspaces
option | typeof | default | description |
---|---|---|---|
all-outputs |
bool | false |
If set to false , workspaces will only be shown on the output they are on.If set to true all workspaces will be shown on every output. |
format |
string | {name} |
The format, how information should be displayed. |
format-icons |
array | Based on the workspace name and state, the corresponding icon gets selected. See Icons
|
|
disable-scroll |
bool | false |
If set to false , you can scroll to cycle through workspaces.If set to true this behaviour is disabled. |
disable-click |
bool | false |
If set to false , you can click to change workspace.If set to true this behaviour is disabled. |
smooth-scrolling-threshold |
double | Threshold to be used when scrolling. | |
disable-scroll-wraparound |
bool | false |
If set to false , scrolling on the workspace indicator will wrap around to the first workspace when reading the end, and vice versa.If set to true this behavior is disabled. |
enable-bar-scroll |
bool | false |
If set to false , you can't scroll to cycle throughout workspaces from the entire bar.If set to true this behaviour is enabled. |
disable-markup |
bool | false |
If set to true , button label will escape pango markup. |
current-only |
bool | false |
If set to true . Only focused workspaces will be shown. |
persistent_workspaces |
json (see below) | empty | Lists workspaces that should always be shown, even when non existant |
numeric-first |
bool | false |
If set to true , workspaces with a name that starts with a number are displayed in front of workspaces that do not start with a number. |
disable-auto-back-and-forth |
bool | false |
Whether to disable workspace_auto_back_and_forth when clicking on workspaces. If this is set to true , clicking on a workspace you are already on won't do anything, even if workspace_auto_back_and_forth is enabled in the Sway configuration. |
string | replacement |
---|---|
{value} |
Name of the workspace, as defined by sway |
{name} |
Number stripped from workspace value at colon e.g. "13:NAME" |
{icon} |
Icon, as defined in format-icons . |
{index} |
Index of the workspace |
Additional to workspace name matching, the following format-icons
can be set.
port name | note |
---|---|
default |
Will be shown, when no string matches is found. |
urgent |
Will be shown, when workspace is flagged as urgent |
focused |
Will be shown, when workspace is focused |
persistent |
Will be shown, when workspace is persistent one. |
each entry of persistent_workspace
names a workspace that should always be shown. Associated with that value is a list of outputs indicating where the workspace should be shown, an empty list denoting all outputs
"sway/workspaces": {
"persistent_workspaces": {
"3": [], // Always show a workspace with name '3', on all outputs if it does not exists
"4": ["eDP-1"], // Always show a workspace with name '4', on output 'eDP-1' if it does not exists
"5": ["eDP-1", "DP-2"] // Always show a workspace with name '5', on outputs 'eDP-1' and 'DP-2' if it does not exists
}
}
n.b.: the list of outputs can be obtained from command line using swaymsg -t get_outputs
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": true,
"format": "{name}: {icon}",
"format-icons": {
"1": "",
"2": "",
"3": "",
"4": "",
"5": "",
"urgent": "",
"focused": "",
"default": ""
}
}
#workspaces button
#workspaces button.visible
#workspaces button.focused
#workspaces button.urgent
#workspaces button.persistent
#workspaces button.current_output
#workspaces button#sway-workspace-${name}
The language
module displays the keyboard layout in sway.
Addressed by sway/language
"sway/language": {
"format": "{}",
"max-length": 50
}
#language
- Home
- Installation
- Configuration
- Styling
- Examples
- FAQ
- Modules:
- Backlight/Slider
- Backlight
- Battery
- Bluetooth
- CPU
- Cava
- CFFI
- Clock
- Custom
- DWL
- Disk
- Gamemode
- Group
- Hyprland
- Idle Inhibitor
- Image
- JACK
- Keyboard State
- Language
- Load
- MPD
- MPRIS
- Memory
- Network
- Niri
- Power Profiles Daemon
- Privacy
- PulseAudio/Slider
- PulseAudio
- River
- Sndio
- Sway
- Systemd failed units
- Taskbar
- Temperature
- Tray
- UPower
- User
- WirePlumber
- Workspaces
- Writing Modules