Skip to content

lys-wm-workspaces ​

lys-wm workspace indicators with click-to-switch.

Add it to your layout with lys-wm-workspaces:

yaml
bar:
  layout:
    - monitor: "*"
      right: [lys-wm-workspaces]

General ​

FieldTypeDefaultDescription
monitor-specificbooltrueShow only workspaces on this bar's monitor.
display-modeDisplayMode"label"What identifies each workspace button.
urgent-showbooltruePulse animation on workspaces with urgent windows.
urgent-modeUrgentMode"workspace"Where the urgent pulse is applied.
active-indicatorActiveIndicator"background"Visual indicator for the active workspace.
dividerstring" "Text separator between workspace identity and app icons.
app-icons-showboolfalseShow application icons for windows on each workspace.
app-icons-dedupebooltrueDeduplicate application icons within a workspace.
app-icons-fallbackstring"ld-app-window-symbolic"Fallback icon for applications not matched by app-icon-map.
app-icons-emptystring"ld-minus-symbolic"Icon shown when a workspace has no application windows.
icon-gapSize0.3Gap between app icons within a workspace button. Accepts a scale multiplier or pixels (e.g. "4px").
workspace-paddingSize0.5Padding for workspace content along the bar direction. Accepts a scale multiplier or pixels (e.g. "8px").
icon-sizeSize1Workspace icon size. Accepts a scale multiplier or pixels (e.g. "16px").
label-sizeSize1Workspace label and divider size. Accepts a scale multiplier or pixels (e.g. "16px").
workspace-ignorearray of string[]Workspaces to hide from the display.
active-colorColorValue"accent"Color for the active (visible on its output) workspace.
occupied-colorColorValue"fg-muted"Color for occupied workspaces (have windows but not active).
empty-colorColorValue"fg-subtle"Color for empty workspaces and placeholder slots.
container-bg-colorColorValue"bg-surface-elevated"Background color for the workspaces container.
border-showboolfalseDisplay border around the workspaces container.
border-colorColorValue"border-default"Border color for the workspaces container.
workspace-mapWorkspaceMap{}Per-workspace icon and color overrides, keyed by workspace number.
app-icon-mapmap of string{}Application icon mapping with glob pattern support.
left-clickWorkspaceClickAction"focus:this"Action on left click.
middle-clickWorkspaceClickAction""Action on middle click.
right-clickWorkspaceClickAction""Action on right click.
scroll-upWorkspaceClickAction"focus:previous"Action on scroll up.
scroll-downWorkspaceClickAction"focus:next"Action on scroll down.
More about monitor-specific

When true (default), each bar shows only its own output's workspaces. When false, all workspaces from every output are shown.

More about display-mode
  • label (default): show the workspace number
  • icon: show an icon from workspace-map (falls back to label if unmapped)
  • none: show nothing — only app icons visible (if enabled)
More about urgent-mode
  • workspace (default): whole button pulses
  • application: only the urgent app icon pulses, falling back to workspace when app icons are disabled
More about app-icons-dedupe

When true, one icon per unique app_id. When false, one icon per window.

More about icon-size

Applies to identity icons and custom icons from workspace-map.

More about workspace-ignore

Glob patterns matched against the workspace number. Example:

  • "1?" — hide numbers 10-19
More about active-color

In background indicator mode, also used as the button background.

More about workspace-map

Example ​

yaml
modules:
  lys-wm-workspaces:
    workspace-map:
      "1": {icon: ld-globe-symbolic, color: "#4a90d9"}
      "2": {icon: ld-terminal-symbolic}
More about app-icon-map

Maps window app_id or title to symbolic icon names. Supports:

  • No prefix: matches app_id (e.g. "*firefox*")
  • app: prefix: explicit app_id match (e.g. "app:org.mozilla.*")
  • title: prefix: matches window title (e.g. "title:*YouTube*")

Example ​

yaml
modules:
  lys-wm-workspaces:
    app-icon-map:
      "*firefox*": ld-globe-symbolic
      "title:*YouTube*": ld-youtube-symbolic

Default configuration ​

yaml
modules:
  lys-wm-workspaces:
    monitor-specific: true
    display-mode: label
    urgent-show: true
    urgent-mode: workspace
    active-indicator: background
    divider: ' '
    app-icons-show: false
    app-icons-dedupe: true
    app-icons-fallback: ld-app-window-symbolic
    app-icons-empty: ld-minus-symbolic
    icon-gap: 0.30000001192092896
    workspace-padding: 0.5
    icon-size: 1.0
    label-size: 1.0
    workspace-ignore: []
    active-color: accent
    occupied-color: fg-muted
    empty-color: fg-subtle
    container-bg-color: bg-surface-elevated
    border-show: false
    border-color: border-default
    workspace-map: {}
    app-icon-map: {}
    left-click: focus:this
    middle-click: ""
    right-click: ""
    scroll-up: focus:previous
    scroll-down: focus:next

Released under the MIT License.