From fea331158915713d980bafde6c38a6954d5c233b Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 15 Sep 2026 17:04:07 +0200 Subject: feat: move the desktop bar to DP-1, and add the mail module The two bars were both on DP-3, which put the workspaces and the window list on a rotated 1080px screen while 2560px sat unused next to it. Status stays on DP-3 alone; the desktop itself moved to DP-1, where the window list has room. This replaces the stock bar rather than sitting beside it, so hyprland's autostart now launches this config instead of a bare waybar. ~/.config/waybar is left on disk, but nothing reads it. Mail comes over from the stock bar as the same notmuch watcher, minus the glyph: the envelope is a CSS background and the unread count stays text, because the count is the content rather than decoration, exactly like the clock. Its format carries a trailing space so the pill survives the empty state, since the watcher emits an empty text when nothing is unread and waybar draws no widget at all for a custom module whose output is empty. Co-Authored-By: Claude Opus 5 --- SPEC.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'SPEC.md') diff --git a/SPEC.md b/SPEC.md index 16a701b..7d151d1 100644 --- a/SPEC.md +++ b/SPEC.md @@ -23,17 +23,22 @@ pointed at DP-3. ## Layout - top [📅 Wed 15/09] [🕑 14:32] [●●] [S] [●] [🔊] [tray] [⏻] [🇮🇹] - date time vm launcher priv vol tray present lang + DP-3 [📅 Wed 15/09] [🕑 14:32] [●] [S] [●] [✉ 9] [🔊] [tray] [⏻] [🇮🇹] + date time vm launcher priv mail vol tray present lang - bottom [1..8] [ open windows ] - workspaces taskbar + DP-1 [1..8] [ open windows ] + workspaces taskbar -DP-3 is rotated, so a bar there is 1080px wide rather than 1920. One bar -holding every module was too crowded at that width, so status sits on top and -the desktop itself along the bottom. Both are one waybar process reading one +DP-3 is rotated, so a bar there is only 1080px wide. One bar holding every +module was too crowded at that width, so status stays on DP-3 alone and the +desktop itself, the workspaces and the window list, moved to DP-1 where there +are 2560px to spread them across. Both are one waybar process reading one stylesheet: waybar takes a top-level array of bars. +This replaces the stock bar rather than sitting beside it. Hyprland starts it +from `~/.config/hypr/sections/autostart.lua`, which used to launch a bare +`waybar`; `~/.config/waybar/` is left on disk but nothing reads it. + Each bracket is one pill. Neighbouring pills in a cluster share a background and weld together with asymmetric corner radii; clusters are separated by transparent gaps, so the bar reads as groups rather than a continuous strip. @@ -50,7 +55,8 @@ transparent gaps, so the bar reads as groups rather than a continuous strip. | center | `wlr/taskbar` | `icon-theme` config key | Per-window application icons. | | right | `group/wireplumber` | `image` module | Drawer group kept as it is today. | | right | `tray` | application-provided | | -| right | `custom/presentation` | CSS, keyed on the module's class | Presentation mode, the same `statusctl`-backed module the DP-1 bar runs. It already emits an empty text and a state class, so the icon is chosen in CSS and the glyphs are simply dropped. | +| right | `custom/mail` | CSS, plus the count as text | Unread mail, the same notmuch watcher the stock bar ran. The envelope is a CSS background; the count stays text, because it is content rather than decoration, exactly like the clock. | +| right | `custom/presentation` | CSS, keyed on the module's class | Presentation mode, the same `statusctl`-backed module the stock bar ran. It already emits an empty text and a state class, so the icon is chosen in CSS and the glyphs are simply dropped. | | right | `image#lang` | `flag-it.svg` / `flag-gb.svg`, shipped here | An `image` module: `hyprland/language` styles as `#language` only, with no per-language class, so a flag cannot be selected in CSS. | Dropped from the current bar: `custom/breaktimer`, `custom/mail`, -- cgit v1.2.3