From f6c4a2a5916f472f5a1322fa6b70e507ac2656cd Mon Sep 17 00:00:00 2001 From: Bernardo Magri Date: Sat, 13 Jun 2026 20:35:25 +0100 Subject: [PATCH] fix(waybar): stop summer themes rendering phantom workspaces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit summer-day/summer-night showed all 10 workspace icons up-front. The cause: legacy used the deprecated `persistent_workspaces` (underscore), which current Waybar silently ignores — so legacy only ever showed *existing* workspaces. The v1 port rewrote it to the modern `persistent-workspaces` (hyphen), which Waybar honours, surfacing all ten as phantoms. Drop the block from both summer waybar.jsonc whole-swaps. The other themes render from waybar.nix, which never declared persistent-workspaces, so they already only show existing workspaces — no change needed there. Co-Authored-By: Claude Opus 4.8 --- README.md | 12 +++++++----- themes/summer-day/waybar.jsonc | 6 +----- themes/summer-night/waybar.jsonc | 6 +----- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index a82de75..f94415f 100644 --- a/README.md +++ b/README.md @@ -386,8 +386,10 @@ close · `SUPER+1..9` workspaces · `Print` region screenshot. field (`{active, inactive}`) to the theme schema (`theme.nix`), consumed solid in `hyprland.nix`, and declared it in every preset so a switch always replaces it. All six identity themes now match legacy exactly. -- **Waybar shows non-existent workspaces:** in summer-night/summer-day the - bar renders every workspace icon up-front via `persistent-workspaces` / - `all-outputs` in `themes/summer-{day,night}/waybar.jsonc`. Restore the - legacy behaviour (only show workspaces that exist) here and across the - other themes. +- ✓ **Waybar shows non-existent workspaces:** the v1 summer port "fixed" + legacy's deprecated `persistent_workspaces` (underscore — silently + ignored by current Waybar, so legacy only ever showed existing + workspaces) into the modern `persistent-workspaces` (hyphen), which + Waybar honours → all 10 rendered as phantoms. Dropped the block from + `themes/summer-{day,night}/waybar.jsonc`; the other themes use the + generated `waybar.nix`, which never had it, so they already match. diff --git a/themes/summer-day/waybar.jsonc b/themes/summer-day/waybar.jsonc index a45b8f5..8fb252e 100644 --- a/themes/summer-day/waybar.jsonc +++ b/themes/summer-day/waybar.jsonc @@ -18,11 +18,7 @@ "all-outputs": true, "on-click": "activate", "on-scroll-up": "hyprctl dispatch workspace e+1", - "on-scroll-down": "hyprctl dispatch workspace e-1", - "persistent-workspaces": { - "1": [], "2": [], "3": [], "4": [], "5": [], - "6": [], "7": [], "8": [], "9": [], "10": [] - } + "on-scroll-down": "hyprctl dispatch workspace e-1" }, "custom/launcher": { diff --git a/themes/summer-night/waybar.jsonc b/themes/summer-night/waybar.jsonc index e5a1430..ffa36e2 100644 --- a/themes/summer-night/waybar.jsonc +++ b/themes/summer-night/waybar.jsonc @@ -18,11 +18,7 @@ "all-outputs": true, "on-click": "activate", "on-scroll-up": "hyprctl dispatch workspace r+1", - "on-scroll-down": "hyprctl dispatch workspace r-1", - "persistent-workspaces": { - "1": [], "2": [], "3": [], "4": [], "5": [], - "6": [], "7": [], "8": [], "9": [], "10": [] - } + "on-scroll-down": "hyprctl dispatch workspace r-1" }, "custom/nomarchy": {