From 5a1cb81bb9a12d87adab2529a9ae50af3b19a399 Mon Sep 17 00:00:00 2001 From: Frank Date: Fri, 9 Oct 2026 16:37:46 -0700 Subject: [PATCH] chore(agent): capture noctalia-bar-layout-edit managed skill --- .../noctalia-bar-layout-edit/SKILL.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 agent/managed-skills/noctalia-bar-layout-edit/SKILL.md diff --git a/agent/managed-skills/noctalia-bar-layout-edit/SKILL.md b/agent/managed-skills/noctalia-bar-layout-edit/SKILL.md new file mode 100644 index 0000000..c31d70a --- /dev/null +++ b/agent/managed-skills/noctalia-bar-layout-edit/SKILL.md @@ -0,0 +1,27 @@ +--- +name: noctalia-bar-layout-edit +description: "Edit/verify Noctalia v5 bar widget layout (start/center/end, taskbar workspace grouping) on Frank's symlinked dotfiles workstations" +--- + +# Noctalia v5 bar layout edit + +Bar widget layout on Frank's noctalia v5 workstations is GUI-override state, not config.toml. + +## Where +- Layout file: `~/.local/state/noctalia/settings.toml` → `[bar.]` keys `start` / `center` / `end` (arrays of widget ids; `[widget.]` subtables hold per-widget settings). +- On Frank's boxes this file is a **symlink into the command-center repo** (e.g. `~/.omp/dotfiles/noctalia/.local/state/noctalia/settings.toml`) — edit the repo file, not the link path (atomic-rename writes through the link path would replace the symlink). +- Layer order: built-in defaults < `~/.config/noctalia/config.toml` (+`[include]`) < `settings.toml` (wins). Noctalia writes through symlinks and keeps them. +- Defaults when a key is absent: `start = ["launcher","wallpaper","workspaces"]`, `center = ["clock"]`. + +## Apply/verify loop (no restart, no reload IPC) +1. Edit the repo `settings.toml`. +2. `noctalia config validate` (checks merged layers; also `noctalia config export [full] | yq -p toml` to inspect effective values). +3. Both layers are file-watched → hot-reload. Prove visually: `noctalia msg screenshot-fullscreen` saves a PNG to `~/Pictures`; read the image and inspect the bar. + +## Taskbar recipes +- Move window indicator beside workspaces: put `"taskbar"` in `start` after `"workspaces"`. +- Combine workspaces+windows into ONE widget: `[widget.taskbar] group_by_workspace = true` — per-workspace capsules with disc labels (focused/occupied/empty/urgent colors); `workspace_group_content = "icons"|"count"|"dots"` (count/dots: left-click activates the workspace); `hide_empty_workspaces`, `show_workspace_label`, `minimal`, `workspace_label_placement = corner|centered|inside`. Requires compositor per-window workspace assignment (niri: yes; LabWC: no → stays flat). +- The `workspaces` widget itself has no window display; styles are regular/minimal/focus_hint only. + +## Law +Full widget/setting tables: https://docs.noctalia.dev/noctalia/bar/ and .../bar/widgets// . Commit bar changes atomically to the command-center repo (checkout is the deployment).