From a304b32cc1a31f6b51fe4430a29f7aac868be347 Mon Sep 17 00:00:00 2001 From: Mitch Lombardi Date: Mon, 10 Nov 2025 02:51:49 -0500 Subject: [PATCH] Dynamically set hyprlock font and placeholder text (#3281) --- bin/omarchy-font-set | 1 + bin/omarchy-setup-fingerprint | 16 ++++++++++++++++ config/hypr/hyprlock.conf | 4 ++-- migrations/1762684663.sh | 12 ++++++++++++ migrations/1762685081.sh | 12 ++++++++++++ 5 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 migrations/1762684663.sh create mode 100644 migrations/1762685081.sh diff --git a/bin/omarchy-font-set b/bin/omarchy-font-set index b8531cfc..875a000b 100755 --- a/bin/omarchy-font-set +++ b/bin/omarchy-font-set @@ -18,6 +18,7 @@ if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then pkill -SIGUSR2 ghostty fi + sed -i "s/font_family = .*/font_family = $font_name/g" ~/.config/hypr/hyprlock.conf sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/waybar/style.css sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/swayosd/style.css xmlstarlet ed -L \ diff --git a/bin/omarchy-setup-fingerprint b/bin/omarchy-setup-fingerprint index 93b70e6d..5319fdae 100755 --- a/bin/omarchy-setup-fingerprint +++ b/bin/omarchy-setup-fingerprint @@ -51,6 +51,16 @@ EOF fi } +add_hyprlock_fingerprint_icon() { + print_info "Adding fingerprint icon to hyprlock placeholder text..." + sed -i 's/placeholder_text = .*/placeholder_text = Enter Password 󰈷 <\/span>/' ~/.config/hypr/hyprlock.conf +} + +remove_hyprlock_fingerprint_icon() { + print_info "Removing fingerprint icon from hyprlock placeholder text..." + sed -i 's/placeholder_text = .*/placeholder_text = Enter Password/' ~/.config/hypr/hyprlock.conf +} + remove_pam_config() { # Remove from sudo if grep -q pam_fprintd.so /etc/pam.d/sudo; then @@ -71,6 +81,9 @@ if [[ "--remove" == "$1" ]]; then # Remove PAM configuration remove_pam_config + # Remove fingerprint icon from hyprlock placeholder text + remove_hyprlock_fingerprint_icon + # Uninstall packages print_info "Removing fingerprint packages..." sudo pacman -Rns --noconfirm fprintd @@ -90,6 +103,9 @@ else # Configure PAM setup_pam_config + # Add fingerprint icon to hyprlock placeholder text + add_hyprlock_fingerprint_icon + # Enroll first fingerprint print_success "\nLet's setup your right index finger as the first fingerprint." print_info "Keep moving the finger around on sensor until the process completes.\n" diff --git a/config/hypr/hyprlock.conf b/config/hypr/hyprlock.conf index 063d793b..7b26fd9f 100644 --- a/config/hypr/hyprlock.conf +++ b/config/hypr/hyprlock.conf @@ -22,10 +22,10 @@ input-field { outer_color = $outer_color outline_thickness = 4 - font_family = CaskaydiaMono Nerd Font Propo + font_family = CaskaydiaMono Nerd Font font_color = $font_color - placeholder_text = Enter Password 󰈷 + placeholder_text = Enter Password check_color = $check_color fail_text = $FAIL ($ATTEMPTS) diff --git a/migrations/1762684663.sh b/migrations/1762684663.sh new file mode 100644 index 00000000..3ef9a1cd --- /dev/null +++ b/migrations/1762684663.sh @@ -0,0 +1,12 @@ +echo "Update hyprlock font to match current system font" + +font_name=$(omarchy-font-current) + +if [[ -n "$font_name" ]]; then + cp ~/.config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf.bak.$(date +%s) + + echo "Found font '$font_name', updating hyprlock" + sed -i "s/font_family = .*/font_family = $font_name/g" ~/.config/hypr/hyprlock.conf +else + echo "No font found, skipping migration" +fi diff --git a/migrations/1762685081.sh b/migrations/1762685081.sh new file mode 100644 index 00000000..5f48b054 --- /dev/null +++ b/migrations/1762685081.sh @@ -0,0 +1,12 @@ +echo "Update hyprlock placeholder text based on fingerprint setup status" + +cp ~/.config/hypr/hyprlock.conf ~/.config/hypr/hyprlock.conf.bak.$(date +%s) + +# Check if fprintd is installed and has enrolled fingerprints +if command -v fprintd-list &>/dev/null && fprintd-list "$USER" 2>/dev/null | grep -q "Fingerprints for user"; then + echo "Fingerprint detected, updating placeholder text with fingerprint icon" + sed -i 's/placeholder_text = .*/placeholder_text = Enter Password 󰈷 <\/span>/' ~/.config/hypr/hyprlock.conf +else + echo "No fingerprint enrolled, updating placeholder text without fingerprint icon" + sed -i 's/placeholder_text = .*/placeholder_text = Enter Password/' ~/.config/hypr/hyprlock.conf +fi