feat(waybar): combined power menu on the battery + profile icons
All checks were successful
Check / eval (push) Successful in 3m5s
All checks were successful
Check / eval (push) Successful in 3m5s
Item 36(b). Adds `nomarchy-menu powermgmt` — one flat rofi menu of power
Profile rows (→ powerprofilesctl set) + Charge limit rows (→ the same
theme-sync writer batterylimit uses), each half self-gating on its
hardware. No backend duplication; Custom charge stays in the dedicated
batterylimit picker.
Opened two ways (Bernardo's call): the Waybar battery icon AND the
power-profile icon — the profile icon's click flips from cycle → menu.
Wired in waybar.nix and all four whole-swaps (parity). Named `powermgmt`
to avoid the whole-swaps' existing `custom/powermenu` shutdown button
(→ nomarchy-menu power), which is left untouched. The granular System ▸
Power profile / Battery limit rows stay ("keep both").
nomarchy-powerprofile-cycle kept as a standalone bin, now unbound by
default.
Verified: V0 green; V1 HM built (bash -n) — powermgmt case ships, the
generated waybar-config.json wires both icons (2 hits), all four jsoncs
re-wired and still parse, shutdown buttons intact. Click→menu→apply is
V3 (queued).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -26,29 +26,6 @@ next, in what order*.
|
||||
|
||||
## NEXT
|
||||
|
||||
### 36. Battery / power quick menu `[human]`
|
||||
(Raised by Bernardo, 2026-07-07 — item 6.) Slice (a) — the charge-threshold
|
||||
toggle in the rofi System submenu — shipped 2026-07-07 (iteration #64;
|
||||
`nomarchy-menu batterylimit`, self-gated on the sysfs node, and MOVED out
|
||||
of the gum control-center). Remaining:
|
||||
- (b) **Battery-icon click → a dedicated power menu** offering charge
|
||||
threshold + power profile. Mockup provided by Bernardo 2026-07-08 (a
|
||||
`power-menu` rofi script from another system): a `rofi -dmenu` with
|
||||
icon'd rows via the `\x00icon\x1f<name>` protocol — "Charge to 100%",
|
||||
"Limit to 80%" (battery-*-charging-symbolic icons) + power-profile rows
|
||||
(power-profile-{power-saver,performance}-symbolic), each `case` firing a
|
||||
backend command + `notify-send`. The submitted script drives **TLP**
|
||||
(`tlp fullcharge` / `tlp setcharge 75 80 BAT0`) and ryzenadj (ignore the
|
||||
ryzenadj half). **Nomarchy adaptation:** reuse the existing writers, not
|
||||
raw TLP — charge rows call `nomarchy-menu batterylimit`'s logic
|
||||
(sysfs `charge_control_end_threshold` + baked `settings.power.
|
||||
batteryChargeLimit`), profile rows call `power-profile`'s (PPD). Wire the
|
||||
Waybar **battery module `on-click`** (generated `waybar.nix` + all four
|
||||
whole-swap jsoncs — parity) to a new `nomarchy-menu powermenu`. Open
|
||||
call left: whether to *replace* the separate System ▸ Battery limit /
|
||||
Power profile rows or keep both surfaces. Pairs with the instant-effect
|
||||
follow-up in PROPOSED (a udev grant makes the charge write no-rebuild).
|
||||
|
||||
### 29. Laptop docking / external-monitor UX `[human]` (needs hardware)
|
||||
(Raised by Bernardo, 2026-07-07.) The shipped display application is
|
||||
weak and unintuitive, and Hyprland's model for workspaces across
|
||||
|
||||
Reference in New Issue
Block a user