aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/hyprland/.local/bin/pinentry-fuzzel
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-02 12:16:38 -0500
committerCraig Jennings <c@cjennings.net>2026-06-02 12:16:38 -0500
commita816122f49d2c7e43e41308e251e133197a486bc (patch)
tree246b46b53c956cfea07bc9d1c2b81f9f8de53d65 /dotfiles/hyprland/.local/bin/pinentry-fuzzel
parentc8ac4d0040309c9b4226a331bafdfa0bd3f4bb73 (diff)
downloadarchsetup-a816122f49d2c7e43e41308e251e133197a486bc.tar.gz
archsetup-a816122f49d2c7e43e41308e251e133197a486bc.zip
refactor: drop in-repo dotfiles/, move stow tooling to the dotfiles repo
Since the installer clones DOTFILES_REPO into ~/.dotfiles and stows from there, the in-repo dotfiles/ tree was dead weight. Nothing reads it at install time. I removed it (831 files) now that both machines are migrated. The Makefile's stow / restow / reset / unstow / import targets and the dotfile-script unit suites moved to the dotfiles repo. They sit alongside the scripts they manage and run standalone (cd ~/.dotfiles && make ...). This Makefile keeps the VM-integration targets and the installer-helper suite (safe-rm-rf). I updated CLAUDE.md and README.md so stow operations run from ~/.dotfiles, and the dotfile-management, theme, and unit-test sections point at the standalone repo. The README was already describing the old in-repo model from before the installer switched to cloning. This brings it in line.
Diffstat (limited to 'dotfiles/hyprland/.local/bin/pinentry-fuzzel')
-rwxr-xr-xdotfiles/hyprland/.local/bin/pinentry-fuzzel107
1 files changed, 0 insertions, 107 deletions
diff --git a/dotfiles/hyprland/.local/bin/pinentry-fuzzel b/dotfiles/hyprland/.local/bin/pinentry-fuzzel
deleted file mode 100755
index 5c64968..0000000
--- a/dotfiles/hyprland/.local/bin/pinentry-fuzzel
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/bin/sh
-
-ENABLE_LOGGING="TRUE"
-logger() {
- if [ "$ENABLE_LOGGING" == "TRUE" ]; then
- /usr/bin/logger -t "${0} [$]" "$@";
- fi
-}
-
-# Decode URL-encoded characters (%0A = newline, %20 = space, etc.)
-decode() {
- printf '%b' "$(echo "$1" | sed 's/%\([0-9A-Fa-f][0-9A-Fa-f]\)/\\x\1/g')"
-}
-
-# Base command and misc variables
-DESC=""
-PROMPT=""
-COUNTFILE="/tmp/pinentry-fuzzel-count-$$"
-
-# Check if this is a repeat prompt (within 5 seconds of last)
-LASTFILE="/tmp/pinentry-fuzzel-last"
-NOW=$(date +%s)
-if [ -f "$LASTFILE" ]; then
- LAST=$(cat "$LASTFILE")
- if [ $((NOW - LAST)) -lt 5 ]; then
- REPEAT=1
- else
- REPEAT=0
- fi
-else
- REPEAT=0
-fi
-echo "$NOW" > "$LASTFILE"
-
-echo "OK Please go ahead"
-while read cmd rest; do
- logger "RAW=< ${cmd} ${rest} >"
- logger "cmd=<${cmd}> rest=<${rest}>"
-
- case $cmd in
- GETINFO)
- case "$rest" in
- flavor)
- echo "D fuzzel"
- echo "OK"
- ;;
- version)
- echo "D 0.1"
- echo "OK"
- ;;
- ttyinfo)
- echo "D - - -"
- echo "OK"
- ;;
- pid)
- echo "D $$"
- echo "OK"
- ;;
- esac
- ;;
-
- SETDESC)
- DESC=$(decode "$rest")
- echo "OK"
- ;;
-
- SETERROR)
- logger "ERROR $rest"
- # Silently acknowledge errors (e.g., empty passphrase on escape)
- echo "OK"
- ;;
-
- SETPROMPT)
- PROMPT=$(decode "$rest")
- # Remove trailing colon if present (we add our own)
- PROMPT="${PROMPT%:}"
- echo "OK"
- ;;
-
- GETPIN | getpin)
- if [ "$REPEAT" -eq 0 ]; then
- LABEL="password: "
- else
- LABEL="reenter: "
- fi
- PASS=$(fuzzel --prompt "$LABEL" --width 35 --lines 0 --cache /dev/null --password --dmenu --border-color=d47c59ff)
- if [ -z "$PASS" ]; then
- # User cancelled - return error to GPG
- rm -f "$LASTFILE"
- echo "ERR 83886179 Operation cancelled"
- else
- echo "D $PASS"
- echo "OK"
- fi
- ;;
-
- BYE|bye)
- echo "OK closing connection"
- logger "EXITING"
- exit 0
- ;;
-
- *)
- echo "OK"
- ;;
- esac
-done