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 {
|
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 {
|
fingerprint {
|
||||||
enabled = true
|
enabled = true
|
||||||
ready_message = Scan fingerprint to unlock
|
ready_message = Scan fingerprint to unlock
|
||||||
|
|
@ -29,13 +32,16 @@ label {
|
||||||
input-field {
|
input-field {
|
||||||
size = 8%, 3%
|
size = 8%, 3%
|
||||||
outline_thickness = 0
|
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
|
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
|
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
|
fail_color = rgba(255, 50, 80, 0.9) rgba(255, 0, 100, 0.9) 30deg
|
||||||
|
|
||||||
font_color = rgba(255, 255, 255, 0.9)
|
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
|
rounding = 20
|
||||||
|
|
||||||
position = 0, 60
|
position = 0, 60
|
||||||
|
|
@ -43,6 +49,8 @@ input-field {
|
||||||
valign = bottom
|
valign = bottom
|
||||||
|
|
||||||
font_family = Roboto
|
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)
|
# Prevent multiple hyprlock instances (second instance breaks the lock screen)
|
||||||
pidof hyprlock && exit 0
|
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
|
hyprctl switchxkblayout all 0
|
||||||
fcitx5-remote -s keyboard-us-dvorak
|
fcitx5-remote -s keyboard-us-dvorak
|
||||||
wpctl set-mute @DEFAULT_AUDIO_SINK@ 1
|
wpctl set-mute @DEFAULT_AUDIO_SINK@ 1
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue