diff options
| author | srdusr <[email protected]> | 2025-11-20 17:10:00 +0200 |
|---|---|---|
| committer | srdusr <[email protected]> | 2025-11-20 17:10:00 +0200 |
| commit | ae47a562bd423df856ec6c735d9e4c29a8e1e3c6 (patch) | |
| tree | 6fa732650b8809d0c302017fbc72254c66bccc02 /docs/DEFAULTS.md | |
| parent | 04466601f4714dcbc1f3b0ef134febede6febb6a (diff) | |
| download | srdwm-ae47a562bd423df856ec6c735d9e4c29a8e1e3c6.tar.gz srdwm-ae47a562bd423df856ec6c735d9e4c29a8e1e3c6.zip | |
Redesign the native lock screen: clock/avatar header, on-screen keyboard, wrong-password shake
The native lock UI was a flat bordered rectangle with three left-aligned
text lines and no shadow, clock, or identity marker - reported directly
as looking unfinished. Splits the redesign across a new transparent-canvas
header (time, date, circular avatar, username) above a redesigned,
centered password box with a real drop shadow and a dimmed placeholder
prompt, plus a genuine on-screen QWERTY-shaped keyboard with working
Shift/Backspace/Return/Space and real click hit-testing shared with the
render path via one `lock_stack_layout` function, and a damped-sine shake
on a failed attempt.
LockConfig gains show_clock/show_keyboard/avatar_bg, each independently
srd.set-able and documented in a new theme.lock.* section in DEFAULTS.md.
native_lock_render_elements now takes one NativeLockFrame struct instead
of positional buffer arguments now that it composites five optional
layers instead of two.
Full workspace build/test/clippy clean (152 wayland tests, +6 new).
Diffstat (limited to 'docs/DEFAULTS.md')
| -rw-r--r-- | docs/DEFAULTS.md | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/DEFAULTS.md b/docs/DEFAULTS.md index 31daf22..3986654 100644 --- a/docs/DEFAULTS.md +++ b/docs/DEFAULTS.md @@ -486,6 +486,42 @@ either order, though `"traffic_lights"` paired with `button_side = (Windows/GNOME) are the two ready-made combinations `config/srd/ themes.lua` ships (`macos` and `traditional` presets respectively). +### Lock Screen (`theme.lock.*`) + +srdwm's own built-in session-lock UI (`srd dispatch lock`), not a config +table - each key is a flat `srd.set` value, read once when the lock +engages: + +```lua +srd.set("theme.lock.box_bg", "#2e3440") -- Default: Nord dark +srd.set("theme.lock.box_border", "#88c0d0") -- Default: Nord blue +srd.set("theme.lock.text_color", "#eceff4") -- Default: Nord light +srd.set("theme.lock.error_color", "#bf616a") -- Default: Nord red +srd.set("theme.lock.corner_radius", 10) -- Default: 10 +srd.set("theme.lock.blur_radius", 20) -- Default: 20 (0 disables blur) +srd.set("theme.lock.dot_char", "\u{25cf}") -- Default: "\u{25cf}" (a filled circle) +srd.set("theme.lock.show_caps_lock", true) -- Default: true +srd.set("theme.lock.show_failed_attempts", true) -- Default: true +srd.set("theme.lock.fail_message", "Wrong password") - Default: "Wrong password" +srd.set("theme.lock.show_clock", true) -- Default: true +srd.set("theme.lock.show_keyboard", true) -- Default: true +srd.set("theme.lock.avatar_bg", "#88c0d0") -- Default: Nord blue, matches box_border +``` + +`show_clock` adds a large time/date readout above the password box, plus a +circular avatar (the username's first letter) and the username itself -- +the set of things a mainstream lock screen (GNOME, macOS, Windows) shows. +Setting it to `false` reduces the lock screen to just the password box. + +`show_keyboard` adds an on-screen keyboard below the password box, for a +session with no physical keyboard reachable (a touchscreen device). A real +physical keyboard still works identically either way; this only adds a +second input method, it never replaces the first. Tapping `Shift` toggles +between the lowercase and uppercase/symbol rows. + +`avatar_bg` sets the avatar circle's fill colour. It defaults to the same +value as `box_border` rather than a third independent colour to track. + ### Getting a full macOS look `apply(macos)` in `config/srd/themes.lua` covers everything srdwm itself |