remove(hyprlock): typewriter for revise

This commit is contained in:
kenji
2026-01-01 11:41:58 -06:00
parent d71be6d7d9
commit f2f44f2fdd
2 changed files with 10 additions and 58 deletions
+7 -58
View File
@@ -1,61 +1,10 @@
{ config, pkgs, ... }:
let
{
config,
pkgs,
...
}: let
cacheWallpaper = "${config.home.homeDirectory}/.cache/current_wallpaper";
clockFont = "JetBrains Mono";
typewriter = pkgs.writeShellScript "hyprlock-typewriter" ''
text=""
state_file="/tmp/hyprlock_typewriter"
lock_pid="/tmp/hyprlock_pid"
blink_file="/tmp/hyprlock_blink"
# Get current hyprlock PID
current_pid=$(pgrep -x hyprlock | head -1)
# Reset if this is a new hyprlock session
if [ -f "$lock_pid" ]; then
old_pid=$(cat "$lock_pid")
if [ "$current_pid" != "$old_pid" ]; then
rm -f "$state_file" "$blink_file"
echo "$current_pid" > "$lock_pid"
fi
else
echo "$current_pid" > "$lock_pid"
fi
# Initialize position
if [ ! -f "$state_file" ]; then
echo 0 > "$state_file"
fi
pos=$(cat "$state_file")
len=''${#text}
# Increment position only if not complete
if [ "$pos" -lt "$len" ]; then
pos=$((pos + 1))
echo "$pos" > "$state_file"
echo "''${text:0:$pos}_"
else
# Blink cursor via foreground color toggle (slow blink)
if [ ! -f "$blink_file" ]; then
echo "0 0" > "$blink_file"
fi
read -r blink count < "$blink_file"
count=$((count + 1))
# Toggle every 5 updates (~600ms at 120ms interval)
if [ "$count" -ge 5 ]; then
count=0
blink=$((1 - blink))
fi
echo "$blink $count" > "$blink_file"
if [ "$blink" -eq 0 ]; then
echo "''${text}_"
else
echo "''${text}<span fgalpha=\"1\">_</span>"
fi
fi
'';
in {
programs.hyprlock = {
enable = true;
@@ -80,10 +29,10 @@ in {
# Typewriter greeting (above clock)
label {
monitor =
text = cmd[update:200] ${typewriter}
text = Hello World!
color = $on_surface_variant
font_size = 24
font_family = ${clockFont}
font_family = ${clockFont} Bold
position = 0, 200
halign = center
valign = center
+3
View File
@@ -0,0 +1,3 @@
{pkgs, ...}: let
in {
}