Available since version 0.1.6
Basic Usage
Actions likefocus-workspace or move-column-to-workspace can refer to workspaces by name. You can also use an open-on-workspace window rule to make a window open on a specific named workspace:
Workspace Ordering
Named workspaces initially appear in the order they are declared in the config file. When editing the config while niri is running, newly declared named workspaces will appear at the very top of a monitor.Dynamic Name Changes
Available since version 25.01
set-workspace-name and unset-workspace-name actions to change workspace names dynamically.
Renaming and Deleting
If you delete some named workspace from the config, the workspace will become normal (unnamed), and if there are no windows on it, it will be removed (as any other normal workspace). There’s no way to give a name to an already existing workspace, but you can simply move windows that you want to a new, empty named workspace.Configuration Options
open-on-output
Specifies which output (monitor) the named workspace should initially appear on. Can use the connector name (e.g., “eDP-1”) or monitor manufacturer, model, and serial (since 0.1.9).
Since version 0.1.9,
open-on-output can use monitor manufacturer, model, and serial. Before, it could only use the connector name.Since version 25.02, named workspaces no longer update/forget their original output when opening a new window on them (unnamed workspaces will keep doing that). This means that named workspaces “stick” to their original output in more cases, reflecting their more permanent nature. Explicitly moving a named workspace to a different monitor will still update its original output.
Layout Config Overrides
Available since version 25.11
layout {} block:
empty-workspace-above-first- This is an output-level setting, doesn’t make sense on a workspaceinsert-hint- Currently drawn at the output level, so it’s not customizable per-workspace
Unsetting Flags
To unset a flag, write it withfalse: