diff --git a/README.md b/README.md index f35b1fd..e3101fb 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,17 @@ Part of the Moonarch ecosystem. ## Features -- **ext-session-lock-v1** — Protocol-guaranteed screen locking (compositor keeps screen locked on crash) -- **PAM authentication** — Uses system PAM stack (`/etc/pam.d/moonlock`) -- **Fingerprint unlock** — fprintd D-Bus integration, async init (optional, window appears instantly) -- **Multi-monitor** — Lockscreen on every monitor, single shared fingerprint listener +- **ext-session-lock-v1** — Protocol-guaranteed screen locking (compositor keeps screen locked on crash, `exit(1)` in release if unsupported) +- **PAM authentication** — Uses system PAM stack (`/etc/pam.d/moonlock`) with 30s timeout and generation counter +- **Fingerprint unlock** — fprintd D-Bus integration with sender validation, async init (window appears instantly), `pam_acct_mgmt` check after verify, auto-resume on transient errors +- **Multi-monitor** — Lockscreen on every monitor with shared blur and avatar caches +- **GPU blur** — Background blur via GskBlurNode (downscale to max 1920px, configurable 0–100) - **i18n** — German and English (auto-detected) -- **Faillock warning** — UI counter + system pam_faillock -- **Panic safety** — Panic hook logs but never unlocks -- **Password wiping** — Zeroize on drop +- **Faillock warning** — Progressive UI warning after failed attempts, PAM decides lockout +- **Panic safety** — Panic hook logs but never unlocks (installed before logging) +- **Password wiping** — `Zeroize` on drop from GTK entry through PAM FFI layer +- **Journal logging** — `journalctl -t moonlock`, debug level via `MOONLOCK_DEBUG` env var +- **Lock-first architecture** — Wallpaper loaded after `lock()` so disk I/O never delays lock acquisition ## Requirements @@ -46,6 +49,7 @@ Create `/etc/moonlock/moonlock.toml` or `~/.config/moonlock/moonlock.toml`: ```toml background_path = "/usr/share/wallpapers/moon.jpg" +background_blur = 40.0 # 0.0–100.0, optional fingerprint_enabled = true ``` diff --git a/build.rs b/build.rs index 65b47e6..f2dd35f 100644 --- a/build.rs +++ b/build.rs @@ -1,5 +1,5 @@ // ABOUTME: Build script for compiling GResource bundle. -// ABOUTME: Bundles style.css, wallpaper.jpg, and default-avatar.svg into the binary. +// ABOUTME: Bundles style.css and default-avatar.svg into the binary. fn main() { glib_build_tools::compile_resources(