feat(waybar): #63 generated bar logo + powermenu
Some checks failed
Check / eval (push) Has been cancelled
Some checks failed
Check / eval (push) Has been cancelled
Add custom/nomarchy (left, Nomarchy monogram → nomarchy-menu) and custom/powermenu (right → nomarchy-menu power) to the generated bar so default-theme users match whole-swap affordances. Pin font-family: Nomarchy; use literal UTF-8 glyphs (Nix has no \u escapes). Verified: V2 (THEME=tokyo-night theme-shot — monogram + power glyph). Close #63.
This commit is contained in:
@@ -95,12 +95,6 @@ the Wi‑Fi card.” Does **not** rewrite the flake unless a later `--apply`
|
|||||||
is explicitly designed. Cost: extract script + package + man/README
|
is explicitly designed. Cost: extract script + package + man/README
|
||||||
pointer; V0–V1.
|
pointer; V0–V1.
|
||||||
|
|
||||||
### 63. Generated Waybar: identity-bar affordances (powermenu + logo)
|
|
||||||
Whole-swap bars ship `custom/powermenu` and a left logo → main menu; the
|
|
||||||
generated `waybar.nix` bar has neither. Optional parity add for
|
|
||||||
default-theme users. Cost: small waybar.nix + CSS; **parity rule:**
|
|
||||||
whole-swaps must get the same modules if added. V1 + visual V2.
|
|
||||||
|
|
||||||
## LATER
|
## LATER
|
||||||
|
|
||||||
- **Wallpapers artifact split** (ROADMAP § Faster switches — decided,
|
- **Wallpapers artifact split** (ROADMAP § Faster switches — decided,
|
||||||
|
|||||||
@@ -17,6 +17,18 @@ Template:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 2026-07-10 — #63 generated Waybar logo + powermenu
|
||||||
|
- **Task:** NEXT #63 — reverse parity: generated bar lacked whole-swap
|
||||||
|
logo → menu and power icon → power menu.
|
||||||
|
- **Did:** `custom/nomarchy` (left, Nomarchy.ttf U+F000) + `custom/powermenu`
|
||||||
|
(right, U+F011 → `nomarchy-menu power`) in generated settings/style.
|
||||||
|
Fixed Nix `\uf000` pitfall (no `\u` escapes — use literal UTF-8).
|
||||||
|
Whole-swaps already had both; no JSON/CSS edits. Closed #63.
|
||||||
|
- **Verified:** **V2** — `THEME=tokyo-night` theme-shot: left monogram N,
|
||||||
|
right power glyph, accent styling; config modules-left/right correct.
|
||||||
|
Crop paths under `/tmp/theme-shot-tn2-*.png`.
|
||||||
|
- **Next suggestion:** product path #55 fingerprint menu (or #57 live install).
|
||||||
|
|
||||||
## 2026-07-10 — #60 name-agnostic system-battery scan
|
## 2026-07-10 — #60 name-agnostic system-battery scan
|
||||||
- **Task:** NEXT #60 — align charge-limit / menu / waybar / doctor /
|
- **Task:** NEXT #60 — align charge-limit / menu / waybar / doctor /
|
||||||
installer chassis with battery-notify’s type=Battery + !scope=Device
|
installer chassis with battery-notify’s type=Battery + !scope=Device
|
||||||
|
|||||||
@@ -166,11 +166,28 @@ let
|
|||||||
# home-manager switch restyles the running bar without a restart.
|
# home-manager switch restyles the running bar without a restart.
|
||||||
reload_style_on_change = true;
|
reload_style_on_change = true;
|
||||||
|
|
||||||
modules-left = [ "hyprland/workspaces" "hyprland/window" ];
|
# Logo + powermenu: whole-swaps already ship these (parity was reverse
|
||||||
|
# — BACKLOG #63). Click targets are existing nomarchy-menu entry points.
|
||||||
|
modules-left = [ "custom/nomarchy" "hyprland/workspaces" "hyprland/window" ];
|
||||||
modules-center = [ "clock" ];
|
modules-center = [ "clock" ];
|
||||||
modules-right = [ "custom/recording" "idle_inhibitor" "tray" "custom/vpn" "pulseaudio" "custom/powerprofile" "custom/nightlight" ]
|
modules-right = [ "custom/recording" "idle_inhibitor" "tray" "custom/vpn" "pulseaudio" "custom/powerprofile" "custom/nightlight" ]
|
||||||
++ lib.optional showLanguage "hyprland/language"
|
++ lib.optional showLanguage "hyprland/language"
|
||||||
++ [ "battery" "custom/doctor" "custom/updates" "custom/notification" ];
|
++ [ "battery" "custom/doctor" "custom/updates" "custom/notification" "custom/powermenu" ];
|
||||||
|
|
||||||
|
"custom/nomarchy" = {
|
||||||
|
interval = "once";
|
||||||
|
# U+F000 — Nomarchy monogram (literal UTF-8; Nix has no \u escapes).
|
||||||
|
# CSS pins font-family: Nomarchy so Nerd Fonts' glass glyph does not win.
|
||||||
|
format = "";
|
||||||
|
on-click = "nomarchy-menu";
|
||||||
|
tooltip-format = "Nomarchy menu";
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/powermenu" = {
|
||||||
|
format = ""; # U+F011 power symbol
|
||||||
|
on-click = "nomarchy-menu power";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
|
||||||
"hyprland/workspaces" = {
|
"hyprland/workspaces" = {
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
@@ -385,10 +402,19 @@ let
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray, #pulseaudio, #custom-powerprofile, #custom-nightlight, #custom-updates, #custom-vpn, #custom-recording, #idle_inhibitor, #language, #battery, #custom-doctor, #custom-notification {
|
#custom-nomarchy {
|
||||||
|
color: @accent;
|
||||||
|
font-family: Nomarchy;
|
||||||
|
font-size: ${toString (t.fonts.size + 4)}pt;
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
#custom-nomarchy:hover { color: @accentAlt; }
|
||||||
|
|
||||||
|
#tray, #pulseaudio, #custom-powerprofile, #custom-nightlight, #custom-updates, #custom-vpn, #custom-recording, #idle_inhibitor, #language, #battery, #custom-doctor, #custom-notification, #custom-powermenu {
|
||||||
color: alpha(@text, 0.85);
|
color: alpha(@text, 0.85);
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
}
|
}
|
||||||
|
#custom-powermenu:hover { color: @bad; }
|
||||||
|
|
||||||
/* Group rhythm (item 28c): a wider breath before each functional
|
/* Group rhythm (item 28c): a wider breath before each functional
|
||||||
group of the right cluster — media/stats · toggles · status —
|
group of the right cluster — media/stats · toggles · status —
|
||||||
@@ -420,7 +446,7 @@ let
|
|||||||
(size+2)pt Pango icon span the icon+text modules use — bump their
|
(size+2)pt Pango icon span the icon+text modules use — bump their
|
||||||
font-size to match, or these glyphs read smaller than the volume /
|
font-size to match, or these glyphs read smaller than the volume /
|
||||||
battery / language icons beside them. */
|
battery / language icons beside them. */
|
||||||
#custom-recording, #custom-updates, #custom-vpn, #custom-nightlight, #custom-doctor, #custom-notification { font-size: ${toString (t.fonts.size + 2)}pt; }
|
#custom-recording, #custom-updates, #custom-vpn, #custom-nightlight, #custom-doctor, #custom-notification, #custom-powermenu { font-size: ${toString (t.fonts.size + 2)}pt; }
|
||||||
|
|
||||||
/* The speedometer + caffeine glyphs render small in their em box —
|
/* The speedometer + caffeine glyphs render small in their em box —
|
||||||
size them up a touch more so they read at a glance. */
|
size them up a touch more so they read at a glance. */
|
||||||
|
|||||||
Reference in New Issue
Block a user