hyprlock: disable fingerprint, add battery/weather/notifications

- Disable fingerprint auth (GDM holds the device; hyprlock can't
  claim it, blocking the auth thread).
- Fix date format escaping (single quotes).
- Add battery, weather, and latest mako notification labels.
- Add hyprlock wrapper (crash guard), battery script, notifications
  script, and weather script.
This commit is contained in:
2026-08-18 08:02:50 -06:00
parent 9e310d2f58
commit 1755d17558
5 changed files with 161 additions and 3 deletions
+42 -3
View File
@@ -7,14 +7,17 @@ $font = JetBrainsMono Nerd Font
# General
general {
disable_loading_bar = false
hide_cursor = false
}
# Authentication
# Fingerprint is disabled: GDM's login worker (pam/gdm-fingerprint) holds the
# device for the whole session, so hyprlock can never claim it -- the failed
# claim blocked the auth thread and made unlocks appear stuck. Fingerprint is
# still available at the GDM login screen; hyprlock is password-only.
auth {
fingerprint {
enabled = true
enabled = false
ready_message = Scan fingerprint to unlock
present_message = Scanning...
retry_delay = 250 # in milliseconds
@@ -45,7 +48,7 @@ label {
# Date
label {
monitor =
text = cmd[update:43200000] echo "$(date + "%A, %d %B %Y")"
text = cmd[update:43200000] echo "$(date +'%A, %d %B %Y')"
color = $text
font_size = 25
font_family = $font
@@ -54,6 +57,30 @@ label {
valign = top
}
# Battery
label {
monitor =
text = cmd[update:60000] $HOME/.local/bin/hyprlock-battery.sh
color = $subtext1
font_size = 20
font_family = $font
position = -30, -190
halign = right
valign = top
}
# Weather
label {
monitor =
text = cmd[update:600000] $HOME/.local/bin/weather.sh
color = $subtext1
font_size = 20
font_family = $font
position = -30, -215
halign = right
valign = top
}
# User Avatar
image {
monitor =
@@ -66,6 +93,18 @@ image {
valign = center
}
# Notifications (latest mako notification; empty when none)
label {
monitor =
text = cmd[update:5000] $HOME/.local/bin/hyprlock-notifications.sh
color = $subtext0
font_size = 16
font_family = $font
position = 0, 60
halign = center
valign = bottom
}
# Input Field
input-field {
monitor =