From f4e53481a195ed06d01ec7b9a5aac0333dde7274 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Thu, 17 Nov 2022 21:38:46 -0300 Subject: bin/menu: Use ad-hoc function to replace clipmenu(1) --- bin/menu | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/bin/menu b/bin/menu index 90af758..d6ec4de 100755 --- a/bin/menu +++ b/bin/menu @@ -93,6 +93,15 @@ pass_list() { LANG=POSIX.UTF-8 sort } +CLIP_DIR="$XDG_RUNTIME_DIR"/clipmenu.6."$(whoami)" +clip_list() { + CACHE_FILE="$CLIP_DIR"/line_cache + LANG=POSIX.UTF-8 sort -rnk 1 < "$CACHE_FILE" | + cut -d' ' -f2- | + awk '!seen[$0]++' +} + + case "$ACTION" in emoji) DATA | show 'emoji' | awk '{print $(NF)}' | copy -n @@ -124,8 +133,11 @@ case "$ACTION" in clipboard) # For a potential improved version, see: # https://github.com/cdown/clipmenu/pull/162 - clipmenu -i -l 20 -fn Monospace-18 -p "$1:" - notify-send -t 5000 -u low -- 'copied to clipboard' + CHOICE="$(clip_list | show 'clipboard:' | cksum)" + if [ -n "$CHOICE" ]; then + copy < "$CLIP_DIR"/"$CHOICE" + notify-send -t 5000 -u low -- 'copied to clipboard' + fi ;; yubikey) CHOICE="$(ykman oath accounts list | show 'OTP')" -- cgit v1.2.3