waybar-sway-workspaces man page

waybar — sway workspaces module

Description

The workspaces module displays the currently used workspaces in Sway.

Configuration

Addressed by sway/workspaces

all-outputs:
   typeof: bool
   default: 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:
   typeof: string
   default: {name}
   The format, how information should be displayed.

format-icons:
   typeof: array
   Based on the workspace name and state, the corresponding icon gets selected. See icons.

disable-scroll:
   typeof: bool
   default: false
   If set to false, you can scroll to cycle through workspaces. If set to true this behaviour is disabled.

smooth-scrolling-threshold:
   typeof: double
   Threshold to be used when scrolling.

disable-scroll-wraparound:
   typeof: bool
   default: 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:
   typeof: bool
   default: 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:
   typeof: bool
   default: false
   If set to true, button label will escape pango markup.

current-only:
   typeof: bool
   default: false
   If set to true. Only focused workspaces will be shown.

persistent_workspaces:
   typeof: json (see below)
   default: empty
   Lists workspaces that should always be shown, even when non existent

Format Replacements

{name}: Name of the workspace, as defined by sway.

{icon}: Icon, as defined in format-icons.

{index}: Index of the workspace.

Icons

Additional to workspace name matching, the following format-icons can be set.

  • 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 Workspaces

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

Examples

  "sway/workspaces": {
      "disable-scroll": true,
      "all-outputs": true,
      "format": "{name}: {icon}",
      "format-icons": {
          "1": "",
          "2": "",
          "3": "",
          "4": "",
          "5": "",
          "urgent": "",
          "focused": "",
          "default": ""
      }
  }

Style

  • #workspaces button
  • #workspaces button.visible
  • #workspaces button.focused
  • #workspaces button.urgent
  • #workspaces button.persistent

Referenced By

waybar(5).

2020-02-10