diff options
| author | Silvio Rhatto <rhatto@riseup.net> | 2025-10-25 13:24:05 -0300 |
|---|---|---|
| committer | Silvio Rhatto <rhatto@riseup.net> | 2025-10-25 13:24:05 -0300 |
| commit | 357ad16e4f97fd53f2ea676247784c390ae1fddb (patch) | |
| tree | 9c0876ee3cb5a7904ef826048ff7456be498ef6d /lib | |
| parent | 25440444a5c793687ca510c68fe8528abed32cf1 (diff) | |
| download | keyringer-357ad16e4f97fd53f2ea676247784c390ae1fddb.tar.gz keyringer-357ad16e4f97fd53f2ea676247784c390ae1fddb.tar.bz2 | |
Feat: new search and ssearch actions
Diffstat (limited to 'lib')
| -rwxr-xr-x | lib/keyringer/actions/sclip | 9 | ||||
| l--------- | lib/keyringer/actions/search | 1 | ||||
| l--------- | lib/keyringer/actions/ssearch | 1 | ||||
| -rwxr-xr-x | lib/keyringer/actions/xclip | 9 | ||||
| -rw-r--r-- | lib/keyringer/completions/bash/keyringer | 4 | ||||
| -rw-r--r-- | lib/keyringer/completions/zsh/_keyringer | 4 |
6 files changed, 22 insertions, 6 deletions
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 "$@" |
