feat(desktop): add hyprlock and hypridle (task 0026) #18
Reference in New Issue
Block a user
Delete Branch "task-0026-hyprlock-and-hypridle"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Task:
.claude/tasks/0026-hyprlock-and-hypridle.mdSummary
Adds a session-lock screen and idle management to the Hyprland-native subdirectory of the desktop group, enabled through the aggregator.
$TIMEclock.Super+Xlocks.lockTimeout/screenOffTimeoutoptions, and locks before every suspend viabefore_sleep_cmd. Lid-close routes throughservices.logind→ suspend, which the pre-sleep lock covers, so the lid lands at a locked screen.Deviations (see
## Implementation Notesin the task file):Super+Xis self-contained — it execs a guarded hyprlock launch directly rather thanloginctl lock-session, so the lock key works whenever hyprlock is enabled, independent of hypridle. hypridle's own idle/suspend paths still funnel throughloginctl lock-sessionso logind tracks locked state there.Review
Risk
Overall: Medium
Standards
No unaddressed findings. The review's two hard findings (cross-file narration in the bind comment; a multi-line file-top header) and the version-split design smell (hyprlock hardcoded from
pkgsin two places) were all fixed in the diff.Spec
services.logind; hypridle genuinely cannot observe lid events, so the outcome (locked screen on lid-close) is met by the correct available mechanism.— Claude