diff options
Diffstat (limited to 'SPEC.md')
| -rw-r--r-- | SPEC.md | 56 |
1 files changed, 31 insertions, 25 deletions
@@ -23,11 +23,11 @@ pointed at DP-3. ## Layout - DP-3 [📅 Wed 15/09] [🕑 14:32] [●] [S] [●] [✉ 9] [🔊] [tray] [⏻] [🇮🇹] - date time vm launcher priv mail vol tray present lang + DP-3 [📅 Wed 15/09] [🕑 14:32] [●] [●] [✉ 9] [🔊] [tray] [⏻] [🇮🇹] + date time vm priv mail vol tray present lang - DP-1 [1..8] [ open windows ] - workspaces taskbar + DP-1 [1..8] [S] [ open windows ] + workspaces launcher taskbar 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 @@ -47,7 +47,7 @@ transparent gaps, so the bar reads as groups rather than a continuous strip. | Position | Module | Icon source | Notes | | --- | --- | --- | --- | -| left | `image#launcher` | `slackware.svg`, shipped here | Accent background, the one always-coloured pill. Opens the quickshell drawer. An `image` module: a `custom` one draws nothing when its format is empty, and the format has to be empty because the mark is an icon. | +| DP-1 centre | `image#launcher` | `slackware.svg`, shipped here | Accent background, the one always-coloured pill. Opens the quickshell drawer. An `image` module: a `custom` one draws nothing when its format is empty, and the format has to be empty because the mark is an icon. | | left | `clock#date` | `x-office-calendar` | Icon then text. Calendar tooltip kept. | | left | `clock#time` | `clock` | Icon then text. | | left | `hyprland/workspaces` | eight themed icons, via CSS | See below. | @@ -57,7 +57,7 @@ transparent gaps, so the bar reads as groups rather than a continuous strip. | right | `tray` | application-provided | | | 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. | +| right | `image#lang` | `flag-it.svg` / `burger.svg`, shipped here | An `image` module: `hyprland/language` styles as `#language` only, with no per-language class, so the image cannot be selected in CSS. English gets the hamburger the stock bar showed, not a flag. | Dropped from the current bar: `custom/breaktimer`, `custom/mail`, `custom/privacy_dots` stays only if you want it on this bar too (it is @@ -152,7 +152,7 @@ Modular, one file per module, mirroring the current setup: icons/ slackware.svg carries @ACCENT@, substituted on install flag-it.svg - flag-gb.svg + burger.svg bin/ wb-icon state to icon path, for the `image` modules vms_dots.sh moved here from ~/bin, symlinked back @@ -169,24 +169,30 @@ module file explicitly. That is a waybar limitation, not a choice. This repo is a **consumer** of udt: it holds the bar, udt holds the colours. `styles/theme.css` is generated by `udt-palette` and gitignored, exactly like -every other generated file in that repo. Generating it needs two changes on -the udt side: - -**A new `[waybar]` role block.** The current one names `temperature`, -`memory`, `cpu`, `backlight` and `battery`, none of which exist on this bar. -The new roles are `launcher`, `workspaces`, `vmdots`, `taskbar`, `volume`, -`tray`, `present`, `lang`, `date`, `time`, plus the existing `main_*`, -`hover_*` and `outline`. - -**Added to all nine `roles-*.conf`.** `udt-palette --selftest` enforces that -every scheme defines the same role set, so a role added to one file and not -the rest fails the check. That is the check doing its job. - -Dot colours come from the existing `[state]` roles: `success` for a running -VM, `warning` for paused, `critical` for crashed, `info` for saved, and -`fg_faint` for shut off. Both dot scripts currently hardcode `#30D158`, -`#FFD60A`, `#FF9F0A`, `#9B32FA` and `#6E6E73`; they will read a generated -colour block instead. +every other generated file in that repo. udt's `install.sh` writes it straight +into `~/.config/waybar-udt/styles/theme.css` under a fixed name this bar +imports, so switching scheme rewrites the file the running bar already reads. + +**The `[waybar]` role block has no per-module colours.** This was planned as a +rename, and turned out to be a deletion. The stock bar alternated module +backgrounds so it read as stripes, and carried a role for each: `workspaces`, +`temperature`, `memory`, `cpu`, `time`, `date`, `tray`, `volume`, `backlight`, +`battery`, plus `charging`. This bar draws every pill on `@main-bg`, and its +stylesheets reference seven names in total: + + @accent @main-bg @main-fg @hover-bg @hover-fg @outline @critical + +So all eleven module roles had no consumer, and adding `launcher`, `mail` or +`present` roles would have invented more of the same. They are gone from all +nine `roles-*.conf` and from `gen_waybar`. Re-adding one means a stylesheet +that actually references it. + +**Dot colours do not come from `[state]`.** `gen_waybar` never emitted +`success` or `info`, so `install.sh` reads `green`, `teal`, `mauve`, +`overlay0`, `warning` and `critical` back out of the generated stylesheet and +writes `~/.config/waybar-udt/dots.colors` for the two scripts to source. They +are bash and cannot read `@define-color`; both fall back to Macchiato values +when that file is missing, so they still run standalone. ## Install |
