fix(hyprlock): make input field always visible
With fade_on_empty=true, a 0.3-alpha inner_color and placeholder_text=$LAYOUT (which resolves empty under fcitx5), the empty input field faded to nothing — only the clock rendered and there was no visible way to type the password. - fade_on_empty = false - inner_color alpha 0.3 -> 0.6 - static placeholder 'Enter password' instead of $LAYOUT Also document the graceful emergency unlock (pkill -USR1 hyprlock) in lock.sh: SIGTERM/SIGKILL on a running lock latches Hyprland's crashed- lockscreen state, requiring hl.clear_crashed_lockscreen() to recover. Clarify in hyprlock.conf that the fingerprint auth block is for Chester and is a no-op on machines without fprintd (e.g. Rutherford).
This commit is contained in:
parent
f9553329ef
commit
4c497ed538
2 changed files with 18 additions and 3 deletions
|
|
@ -1,4 +1,7 @@
|
|||
auth {
|
||||
# Parallel fingerprint auth — used on Chester (fingerprint reader + fprintd).
|
||||
# On machines without fprintd/reader (e.g. Rutherford) hyprlock simply never
|
||||
# claims a device, so this stays inactive and only password auth applies.
|
||||
fingerprint {
|
||||
enabled = true
|
||||
ready_message = Scan fingerprint to unlock
|
||||
|
|
@ -29,13 +32,16 @@ label {
|
|||
input-field {
|
||||
size = 8%, 3%
|
||||
outline_thickness = 0
|
||||
inner_color = rgba(255, 182, 193, 0.3) # transparent background
|
||||
inner_color = rgba(255, 182, 193, 0.6) # translucent but clearly visible
|
||||
outer_color = rgba(255, 255, 255, 0.5) rgba(255, 255, 255, 1.0) 90deg
|
||||
check_color = rgba(255, 50, 80, 0.9) rgba(255, 0, 100, 0.9) 30deg
|
||||
fail_color = rgba(255, 50, 80, 0.9) rgba(255, 0, 100, 0.9) 30deg
|
||||
|
||||
font_color = rgba(255, 255, 255, 0.9)
|
||||
fade_on_empty = true
|
||||
# fade_on_empty made the empty field nearly invisible (combined with the
|
||||
# transparent inner_color and an empty $LAYOUT placeholder under fcitx5),
|
||||
# leaving only the clock on screen with no way to tell where to type.
|
||||
fade_on_empty = false
|
||||
rounding = 20
|
||||
|
||||
position = 0, 60
|
||||
|
|
@ -43,6 +49,8 @@ input-field {
|
|||
valign = bottom
|
||||
|
||||
font_family = Roboto
|
||||
placeholder_text = $LAYOUT
|
||||
# $LAYOUT can resolve to an empty string when fcitx5 owns the keyboard,
|
||||
# which left a blank placeholder; show useful static text instead.
|
||||
placeholder_text = Enter password
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,13 @@
|
|||
# Prevent multiple hyprlock instances (second instance breaks the lock screen)
|
||||
pidof hyprlock && exit 0
|
||||
|
||||
# --- Emergency unlock (from TTY or SSH) ---
|
||||
# If the lock screen ever misbehaves, unlock GRACEFULLY with:
|
||||
# pkill -USR1 hyprlock
|
||||
# Do NOT kill it with SIGTERM/SIGKILL: Hyprland detects the lock screen dying
|
||||
# while locked and latches a "crashed lockscreen" state that then requires:
|
||||
# hyprctl --instance 0 eval "hl.clear_crashed_lockscreen()"
|
||||
|
||||
hyprctl switchxkblayout all 0
|
||||
fcitx5-remote -s keyboard-us-dvorak
|
||||
wpctl set-mute @DEFAULT_AUDIO_SINK@ 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue