From abec4543aa2199ec96e0dba3c22e563dc56b14ba Mon Sep 17 00:00:00 2001 From: salemsayed Date: Mon, 3 Aug 2026 13:57:16 +0300 Subject: [PATCH] Add salemsayed/niri-active-workspace A bar widget showing only the focused niri workspace instead of a pill listing every workspace. Reads niri IPC (snapshot plus event-stream) since the plugin API exposes no compositor state. --- niri-active-workspace/README.md | 75 +++++++ niri-active-workspace/plugin.toml | 42 ++++ niri-active-workspace/thumbnail.webp | Bin 0 -> 98902 bytes niri-active-workspace/translations/en.json | 22 ++ niri-active-workspace/widget.luau | 221 +++++++++++++++++++++ 5 files changed, 360 insertions(+) create mode 100644 niri-active-workspace/README.md create mode 100644 niri-active-workspace/plugin.toml create mode 100644 niri-active-workspace/thumbnail.webp create mode 100644 niri-active-workspace/translations/en.json create mode 100644 niri-active-workspace/widget.luau diff --git a/niri-active-workspace/README.md b/niri-active-workspace/README.md new file mode 100644 index 00000000..162e09f8 --- /dev/null +++ b/niri-active-workspace/README.md @@ -0,0 +1,75 @@ +# Niri Active Workspace + +A bar widget that shows **only the workspace you are on**, instead of a pill +listing every workspace. + +Noctalia's built-in workspaces widget always renders one slot per workspace. +With named workspaces, or under niri — which keeps a trailing empty workspace at +all times — that pill is wider than the information in it, and `inactive_pill_size` +only shrinks inactive slots to a floor of `0.25`, it cannot hide them. This +widget renders a single label and puts the full list in the tooltip. + +## Plugin + +| Field | Value | +| --- | --- | +| ID | `salemsayed/niri-active-workspace` | +| Entries | Bar widget: `active-workspace` | + +## Requirements + +- `niri`. The plugin API exposes no compositor state, so all workspace data + comes from niri's own IPC (`niri msg`). The widget is niri-only and will show + a placeholder under any other compositor. + +## Usage + +Add it from **Settings → Bar**, choose a section, and pick **Niri Active +Workspace** from the widget list. It replaces the built-in `workspaces` widget; +remove that one if you do not want both. + +The widget shows the workspace name, falling back to its index when the +workspace is unnamed. + +| Gesture | Action | +| --- | --- | +| Left click | Toggle the niri overview | +| Scroll up / down | Focus the workspace above / below | + +Hover for a tooltip listing every workspace on the same monitor, with `●` +marking the focused one and `○` the rest. + +### Multiple monitors + +Noctalia renders a bar per output. Each widget instance resolves its own +connector and tracks the workspace that is active **on that output**, so the bar +on each monitor shows that monitor's workspace rather than whichever one holds +keyboard focus. If the host cannot report the output, the widget falls back to +the globally focused workspace. + +## Settings + +| Setting | Type | Default | Description | +| --- | --- | --- | --- | +| `label_mode` | `select` | `name_or_index` | What to show. `name_or_index` uses the workspace name and falls back to its index; `name` shows the name only; `index` shows the index only; `both` shows `index:name`. | +| `show_position` | `bool` | `false` | Append the workspace's position among that monitor's workspaces, for example `comms 2/5`. | +| `glyph` | `glyph` | `layout-grid` | Icon shown before the label. | + +## Notes + +**Processes.** The widget spawns `niri msg` and nothing else: + +- `niri msg --json workspaces` — once at load, and again on a 60-second tick as + a self-heal in case the event stream dies. +- `niri msg --json event-stream` — a single long-lived subscription, the source + of live updates. `WorkspacesChanged` and `WorkspaceActivated` are handled; all + other events are ignored. +- `niri msg action toggle-overview`, `focus-workspace-down`, + `focus-workspace-up` — only in response to a click or scroll. + +**No network access. No filesystem reads or writes.** The widget keeps its state +in memory and writes nothing to disk. + +**Workspace identity.** niri marks one workspace `is_active` per output and +exactly one `is_focused` globally. On a single monitor these are the same +workspace, so the two code paths agree. diff --git a/niri-active-workspace/plugin.toml b/niri-active-workspace/plugin.toml new file mode 100644 index 00000000..b63e316f --- /dev/null +++ b/niri-active-workspace/plugin.toml @@ -0,0 +1,42 @@ +id = "salemsayed/niri-active-workspace" +name = "Niri Active Workspace" +version = "1.1.0" +plugin_api = 3 +author = "salemsayed" +license = "MIT" +dependencies = ["niri"] +icon = "layout-grid" +deprecated = false +description = "Shows only the focused niri workspace in the bar." +tags = ["bar", "indicator", "niri"] + +[[widget]] +id = "active-workspace" +entry = "widget.luau" + + [[widget.setting]] + key = "label_mode" + type = "select" + label_key = "settings.label_mode.label" + description_key = "settings.label_mode.description" + default = "name_or_index" + options = [ + { value = "name_or_index", label_key = "settings.label_mode.name_or_index" }, + { value = "name", label_key = "settings.label_mode.name" }, + { value = "index", label_key = "settings.label_mode.index" }, + { value = "both", label_key = "settings.label_mode.both" }, + ] + + [[widget.setting]] + key = "show_position" + type = "bool" + label_key = "settings.show_position.label" + description_key = "settings.show_position.description" + default = false + + [[widget.setting]] + key = "glyph" + type = "glyph" + label_key = "settings.glyph.label" + description_key = "settings.glyph.description" + default = "layout-grid" diff --git a/niri-active-workspace/thumbnail.webp b/niri-active-workspace/thumbnail.webp new file mode 100644 index 0000000000000000000000000000000000000000..73176590a187a389a861a6581e545b27f6659c3a GIT binary patch literal 98902 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 literal 0 HcmV?d00001 diff --git a/niri-active-workspace/translations/en.json b/niri-active-workspace/translations/en.json new file mode 100644 index 00000000..3b504837 --- /dev/null +++ b/niri-active-workspace/translations/en.json @@ -0,0 +1,22 @@ +{ + "plugin_name": "Niri Active Workspace", + "plugin_description": "Shows only the focused niri workspace in the bar.", + "settings": { + "label_mode": { + "label": "Label", + "description": "What to show for the focused workspace.", + "name_or_index": "Name, or index when unnamed", + "name": "Name only", + "index": "Index only", + "both": "Index and name" + }, + "show_position": { + "label": "Show position", + "description": "Append the focused workspace's position, e.g. 3/5." + }, + "glyph": { + "label": "Icon", + "description": "Icon shown before the label." + } + } +} diff --git a/niri-active-workspace/widget.luau b/niri-active-workspace/widget.luau new file mode 100644 index 00000000..e02d713b --- /dev/null +++ b/niri-active-workspace/widget.luau @@ -0,0 +1,221 @@ +--!nonstrict +-- niri-active-workspace — a bar widget that shows only the focused niri +-- workspace, instead of a pill containing every workspace. +-- +-- The plugin API exposes no compositor state, so workspace data comes from +-- niri's own IPC: +-- * one `niri msg --json workspaces` snapshot at load, and again on the slow +-- update tick as a self-heal in case the stream dies +-- * `niri msg --json event-stream` for live updates +-- +-- Multi-monitor: niri marks one workspace `is_active` per output and exactly +-- one `is_focused` globally. Noctalia renders a bar per output, so each widget +-- instance reports its own connector via barWidget.outputName() and tracks the +-- active workspace on that output. With a single output the two are the same +-- workspace, so behaviour there is unchanged. +-- +-- Left click → toggle the niri overview +-- Scroll → focus the workspace below / above + +local LABEL_MODE: string = noctalia.getConfig("label_mode") or "name_or_index" +local SHOW_POSITION: boolean = noctalia.getConfig("show_position") == true +local GLYPH: string = noctalia.getConfig("glyph") or "" + +-- Resync cadence. The event stream does the real work; this only covers the +-- case where it dies silently. +local RESYNC_MS: number = 60000 + +local allWorkspaces: { any } = {} + +-- ── Output scoping ─────────────────────────────────────────────────────────── + +-- nil when the host cannot say (older API, or before the bar is placed), in +-- which case fall back to the globally focused workspace. +local function outputName(): string? + if barWidget.outputName == nil then + return nil + end + local ok, name = pcall(barWidget.outputName) + if ok and name ~= nil and name ~= "" then + return name + end + return nil +end + +local function visibleWorkspaces(): { any } + local connector = outputName() + if connector == nil then + return allWorkspaces + end + local scoped = {} + for _, ws in ipairs(allWorkspaces) do + if ws.output == connector then + table.insert(scoped, ws) + end + end + -- An output we have no workspaces for should not blank the widget. + if #scoped == 0 then + return allWorkspaces + end + return scoped +end + +local function selectFocused(scoped: { any }): any + local connector = outputName() + for _, ws in ipairs(scoped) do + -- Per-output active workspace when we know which output we are on, + -- otherwise the single globally focused one. + if connector ~= nil and ws.is_active then + return ws + elseif connector == nil and ws.is_focused then + return ws + end + end + -- Fall back to global focus if the output had no active workspace. + for _, ws in ipairs(scoped) do + if ws.is_focused then + return ws + end + end + return nil +end + +-- ── Rendering ──────────────────────────────────────────────────────────────── + +local function labelFor(ws: any): string + if ws == nil then + return "—" + end + local idx: string = tostring(ws.idx or "?") + local name: string? = ws.name + + if LABEL_MODE == "index" then + return idx + elseif LABEL_MODE == "name" then + return name or idx + elseif LABEL_MODE == "both" then + if name ~= nil and name ~= "" then + return `{idx}:{name}` + end + return idx + end + -- "name_or_index" (default) + if name ~= nil and name ~= "" then + return name + end + return idx +end + +local function render() + if GLYPH ~= "" then + barWidget.setGlyph(GLYPH) + end + + local scoped = visibleWorkspaces() + local focused = selectFocused(scoped) + + local text: string = labelFor(focused) + if SHOW_POSITION and focused ~= nil and #scoped > 0 then + text = `{text} {focused.idx}/{#scoped}` + end + barWidget.setText(text) + + -- Tooltip keeps the full list for this output reachable, since the bar no + -- longer shows it. + local rows = {} + for _, ws in ipairs(scoped) do + local marker: string = (focused ~= nil and ws.id == focused.id) and "●" or "○" + table.insert(rows, { + key = `{marker} {tostring(ws.idx)}`, + value = (ws.name ~= nil and ws.name ~= "") and ws.name or "(unnamed)", + }) + end + if #rows > 0 then + barWidget.setTooltip(rows) + else + barWidget.setTooltip("No niri workspaces") + end +end + +-- ── State ──────────────────────────────────────────────────────────────────── + +local function applyWorkspaces(list: { any }) + allWorkspaces = {} + for _, ws in ipairs(list) do + table.insert(allWorkspaces, ws) + end + table.sort(allWorkspaces, function(a, b) + return (a.idx or 0) < (b.idx or 0) + end) + render() +end + +-- WorkspaceActivated carries only { id, focused }, so patch the cached list +-- rather than re-querying niri on every switch. Activation is per-output: it +-- clears is_active on the activated workspace's own output only, while +-- is_focused is global. +local function applyActivated(id: any, isFocused: boolean) + local activated: any = nil + for _, ws in ipairs(allWorkspaces) do + if ws.id == id then + activated = ws + break + end + end + if activated == nil then + return + end + + for _, ws in ipairs(allWorkspaces) do + if ws.output == activated.output then + ws.is_active = ws.id == id + end + if isFocused then + ws.is_focused = ws.id == id + end + end + render() +end + +local function snapshot() + noctalia.runAsync("niri msg --json workspaces", function(res) + if res.exitCode ~= 0 then + return + end + local data = noctalia.json.decode(res.stdout) + if type(data) == "table" then + applyWorkspaces(data) + end + end, 3000) +end + +-- ── Wiring ─────────────────────────────────────────────────────────────────── + +snapshot() + +noctalia.runStream("niri msg --json event-stream", function(line: string) + local ev = noctalia.json.decode(line) + if type(ev) ~= "table" then + return + end + if ev.WorkspacesChanged ~= nil then + applyWorkspaces(ev.WorkspacesChanged.workspaces or {}) + elseif ev.WorkspaceActivated ~= nil then + local a = ev.WorkspaceActivated + applyActivated(a.id, a.focused == true) + end +end) + +function update() + noctalia.setUpdateInterval(RESYNC_MS) + snapshot() +end + +function onClick() + noctalia.runAsync("niri msg action toggle-overview") +end + +function onScroll(axis: string, steps: number, startsGesture: boolean) + local action: string = (steps > 0) and "focus-workspace-down" or "focus-workspace-up" + noctalia.runAsync(`niri msg action {action}`) +end