-
v0.9.0
Stablereleased this
2026-05-07 22:01:02 +02:00 | 0 commits to master since this releasev0.9.0 pre-release
This release brings full X11 support via the PAM module path and a number of fixes discovered during real-world testing on Arch Linux with i3lock.
Note: macOS support is implemented and compiles correctly, but has not been tested on a real macOS machine. Treat macOS as untested for this release.
What's new
- PAM module fires on failures — the module line must appear before
auth include system-authin the locker's PAM config; placing it after means PAM flow control skips our module on every failed attempt - Sprite-sized window — replaced the full-screen GTK overlay with a window sized to the sprite, eliminating the opaque background that blocked the lock screen
- Unlock detection via XGrabKeyboard — replaced unreliable process-name scanning with an X11 keyboard grab probe; i3lock holds the grab while locked and releases it on successful auth
- Shadow suppression — sets
_COMPTON_SHADOW=0on the X window directly, so picom/compton skips the shadow without requiring any compositor config changes - Single-instance guard — flock on
/tmp/ahfail-display.lockprevents multiple animations stacking on rapid failed attempts - macOS cfg guards — all X11-specific code is behind
#[cfg(target_os = "linux")]; macOS builds compile cleanly and fall back to SIGTERM-based unlock detection - Debug logging removed —
dlog/plogno longer write to/tmpon end-user machines
Known limitations
- swaylock / hyprlock (Wayland): the PAM module fires and audio plays, but the animation cannot appear over the lock screen — the Wayland session-lock protocol restricts rendering to the locker process. Full support requires a plugin API from those projects. See the roadmap in the README.
- macOS: untested on real hardware for this release.
Installation
See the README for PAM configuration instructions. The
ahfailline must be the firstauthentry in the locker's PAM file.Downloads
- PAM module fires on failures — the module line must appear before
-
v0.1.0
Stablereleased this
2026-05-06 13:24:20 +02:00 | 10 commits to master since this releaseDownloads