feat(menu): #76 slice 2 — Hibernate notifies on failure
All checks were successful
Check / eval (push) Successful in 4m7s
All checks were successful
Check / eval (push) Successful in 4m7s
Per the settled #76 UX call: keep the Power-menu Hibernate row unconditional, but when hibernate fails (typically a swap=0 machine with no disk swap), surface a notification pointing at the enable-hibernation runbook instead of a silent no-op. On success `systemctl hibernate` blocks until resume, so the notify only fires on a real failure. Verification: V1 — homeConfigurations.nomarchy.activationPackage builds (rebuilds nomarchy-menu; writeShellScriptBin runs bash -n). Control-flow proved on the arm extracted from the built script: failing systemctl -> notify fires, succeeding -> no notify. flake check --no-build green. V2 hibernate->resume VM test + V3 laptop remain open (#76 slice 3). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -252,7 +252,13 @@ let
|
||||
*Lock) loginctl lock-session ;;
|
||||
*Logout) hyprctl dispatch exit ;;
|
||||
*Suspend) systemctl suspend ;;
|
||||
*Hibernate) systemctl hibernate ;;
|
||||
*Hibernate)
|
||||
# zram can't hold a hibernate image; a machine installed with
|
||||
# swap=0 has no disk swap. Attempt, and if logind rejects it,
|
||||
# say why instead of a silent no-op. On success this blocks
|
||||
# until resume, so the notify only fires on a real failure.
|
||||
systemctl hibernate 2>/dev/null \
|
||||
|| notify-send "Hibernate" "Couldn't hibernate — likely no swap is configured. See docs/MIGRATION.md → Enabling hibernation." ;;
|
||||
*Reboot) systemctl reboot ;;
|
||||
*Shutdown) systemctl poweroff ;;
|
||||
esac ;;
|
||||
|
||||
Reference in New Issue
Block a user