From: Silvio Rhatto Date: Sat, 25 Oct 2025 16:24:05 +0000 (-0300) Subject: Feat: new search and ssearch actions X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=357ad16e4f97fd53f2ea676247784c390ae1fddb;p=keyringer.git Feat: new search and ssearch actions --- diff --git a/ChangeLog b/ChangeLog index 9f079a5..5958d1f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ Makefile: uninstall targets (thanks Spenser Truex ). + New "search" and "ssearch" actions. + 2025-01-04 - 0.6.0 - Silvio Rhatto Fix: check action now exits with non-zero status if there are expiring keys diff --git a/lib/keyringer/actions/sclip b/lib/keyringer/actions/sclip index de9c3b5..e513e8d 100755 --- a/lib/keyringer/actions/sclip +++ b/lib/keyringer/actions/sclip @@ -7,9 +7,16 @@ LIB="`dirname $0`/../functions" source "$LIB" read $* || exit 1 +# Determine action +if [ "$(basename "$0")" == "ssearch" ]; then + action="search" +else + action="xclip" +fi + # Clip password shift -keyringer $KEYRING xclip $* +keyringer $KEYRING $action $* # Se window switch combo if [ -z "$XDOTOOL_NEXT_WINDOW" ]; then diff --git a/lib/keyringer/actions/search b/lib/keyringer/actions/search new file mode 120000 index 0000000..8b8c16c --- /dev/null +++ b/lib/keyringer/actions/search @@ -0,0 +1 @@ +xclip \ No newline at end of file diff --git a/lib/keyringer/actions/ssearch b/lib/keyringer/actions/ssearch new file mode 120000 index 0000000..10534ec --- /dev/null +++ b/lib/keyringer/actions/ssearch @@ -0,0 +1 @@ +sclip \ No newline at end of file diff --git a/lib/keyringer/actions/xclip b/lib/keyringer/actions/xclip index ff82cc1..a189545 100755 --- a/lib/keyringer/actions/xclip +++ b/lib/keyringer/actions/xclip @@ -57,8 +57,15 @@ if ! which xclip &> /dev/null; then exit 1 fi +# Find our search mode +if [ "$(basename "$0")" == "search" ] && [ -z "$2" ]; then + read -p "Enter option (Ctrl-C to abort): " query +else + query="$2" +fi + # Get file -keyringer_get_file "$2" +keyringer_get_file "$query" # Decrypt pass="$($GPG --use-agent -d "$KEYDIR/$FILE" | head -n 1)" diff --git a/lib/keyringer/completions/bash/keyringer b/lib/keyringer/completions/bash/keyringer index 4aa4b75..3e70e4c 100644 --- a/lib/keyringer/completions/bash/keyringer +++ b/lib/keyringer/completions/bash/keyringer @@ -3,7 +3,7 @@ # if [[ -n ${ZSH_VERSION-} ]]; then - autoload -U +X bashcompinit && bashcompinit + autoload -U +X bashcompinit && bashcompinit fi # Completion for git subcommand @@ -92,7 +92,7 @@ _keyringer() { recipients) opts="ls edit" ;; - ls|tree|mkdir|encrypt|encrypt-batch|pwgen|decrypt|edit|append|append-batch|del|rm|recrypt|open|clip|xclip|sclip|find|mv|cp) + ls|tree|mkdir|encrypt|encrypt-batch|pwgen|decrypt|edit|append|append-batch|del|rm|recrypt|open|clip|xclip|sclip|search|ssearch|find|mv|cp) cur="`echo ${cur} | sed -e "s|^/*||"`" # avoid leading slash opts="$(bash -c "set -f && export KEYRINGER_CHECK_RECIPIENTS=false && export KEYRINGER_CHECK_VERSION=false && keyringer $instance ls -p -d ${cur}*" 2> /dev/null)" ;; diff --git a/lib/keyringer/completions/zsh/_keyringer b/lib/keyringer/completions/zsh/_keyringer index 7562352..0ac6c7f 100644 --- a/lib/keyringer/completions/zsh/_keyringer +++ b/lib/keyringer/completions/zsh/_keyringer @@ -49,7 +49,7 @@ _keyringer() { recipients) compadd "$@" ls edit ;; - ls|tree|mkdir|encrypt|encrypt-batch|pwgen|decrypt|edit|append|append-batch|del|rm|recrypt|open|clip|xclip|sclip|find|mv|cp) + ls|tree|mkdir|encrypt|encrypt-batch|pwgen|decrypt|edit|append|append-batch|del|rm|recrypt|open|clip|xclip|sclip|search|ssearch|find|mv|cp) words[4]="`echo $words[4] | sed -e "s|^/*||"`" # avoid leading slash compadd "$@" $(KEYRINGER_CHECK_RECIPIENTS=false KEYRINGER_CHECK_VERSION=false keyringer $words[2] ls -p -d $words[4]'*' 2> /dev/null) ;; @@ -96,7 +96,7 @@ _keyringer() { true fi ;; - esac + esac } _keyringer "$@"