diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-15 17:04:07 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-15 17:04:07 +0200 |
| commit | fea331158915713d980bafde6c38a6954d5c233b (patch) | |
| tree | 7d1e4ffa274814b904bf924d6d642c61536be860 /SPEC.md | |
| parent | a90fac477be6db6cbae563d1a29645e5eb215852 (diff) | |
| download | waybar-theme-udt-fea331158915713d980bafde6c38a6954d5c233b.tar.gz waybar-theme-udt-fea331158915713d980bafde6c38a6954d5c233b.zip | |
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 <noreply@anthropic.com>
Diffstat (limited to 'SPEC.md')
| -rw-r--r-- | SPEC.md | 22 |
1 files changed, 14 insertions, 8 deletions
@@ -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`, |
