fix(ui): #139 sheets size themselves; #141 waybar clicks stop reading the env
Some checks failed
Check / eval (push) Has been cancelled
Some checks failed
Check / eval (push) Has been cancelled
#139 — calcurse/doctor floated full-screen. Two faults stacked, which is why it looked like the float rules were dead: 1. Hyprland 0.55.4 silently ignores percentage `size` rules. Matrix on hardware (both orders, kitty memory off): `size 60% 65%` never applies, `size 1536 936` applies either way, configerrors empty both times. Rule order was a red herring. 2. Kitty defaults to remember_window_size=yes and replays the last OS window's size into every float — so after a tiled terminal, a sheet opens maximized. This is the Ghostty regression: Ghostty had no such memory, so fault 1 stayed invisible until #95. Fix: remember_window_size=no (floats must be deterministic) and the sheets ask for their own size — term-sheet.nix reads the focused monitor and hands kitty the px, because px in a rule cannot mean "a fraction of *this* screen" and one pair cannot serve 2560x1440 and the 1366x768 Acer (#131). Those windows keep float/center and deliberately carry no size rule. #141 — the updates click did nothing: whole-swaps hand-wrote `sh -c '$TERMINAL …'` and Waybar has no TERMINAL (home.sessionVariables → login shells only; the bar is spawned by Hyprland). Fixed at the root: `nomarchy-updates upgrade-window` opens its own window, so all five call sites name one env-free command and a theme file stops having an opinion about terminals. checks.waybar-swap-env guards the class. Bernardo asked mid-task for the update window to float — it is now the third caller of the sheet helper (com.nomarchy.updates, 45%x50%). V3 on the dev box: calendar 1536x936, doctor 1408x1008, updates 1152x720 — exactly the intended fractions, floating and centred; #141 driven under `env -i` with no TERMINAL, matching Waybar's real environment; the guard proven by reintroducing the bug. Acer V3 queued. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1060,16 +1060,22 @@ in
|
||||
|
||||
# Calendar popup (item 42): nomarchy-calendar → calcurse in a
|
||||
# kitty window tagged with a distinct --class, so it floats centered.
|
||||
# No `size` rule on purpose: a percentage one is silently ignored here
|
||||
# (#139, measured on hardware — see term-sheet.nix), and px cannot mean
|
||||
# "a fraction of *this* monitor". The launcher sizes the window itself.
|
||||
"float 1, match:class ^(com\\.nomarchy\\.calendar)$"
|
||||
"size 60% 65%, match:class ^(com\\.nomarchy\\.calendar)$"
|
||||
"center 1, match:class ^(com\\.nomarchy\\.calendar)$"
|
||||
|
||||
# Doctor sheet (System › Doctor / Waybar custom/doctor click):
|
||||
# nomarchy-menu doctor → kitty --class=com.nomarchy.doctor.
|
||||
# nomarchy-menu doctor → nomarchy-term-sheet, sized the same way.
|
||||
"float 1, match:class ^(com\\.nomarchy\\.doctor)$"
|
||||
"size 55% 70%, match:class ^(com\\.nomarchy\\.doctor)$"
|
||||
"center 1, match:class ^(com\\.nomarchy\\.doctor)$"
|
||||
|
||||
# Upgrade prompt (Waybar custom/updates click → nomarchy-updates
|
||||
# upgrade-window): the same classed sheet, smaller — it is a y/N flow.
|
||||
"float 1, match:class ^(com\\.nomarchy\\.updates)$"
|
||||
"center 1, match:class ^(com\\.nomarchy\\.updates)$"
|
||||
|
||||
# Polkit auth (hyprpolkitagent — app id / binary name in the package)
|
||||
# and pinentry-qt (keys.nix default; org.gnupg.pinentry-qt desktop).
|
||||
# workspace current: agent was started on ws1 at login; without this
|
||||
|
||||
Reference in New Issue
Block a user