[pass] [PATCH 2/2] clip: add GPaste support

Marc-Antoine Perennou Marc-Antoine at perennou.com
Fri Oct 10 09:35:53 CEST 2014


On 11 September 2014 11:12, Marc-Antoine Perennou
<Marc-Antoine at perennou.com> wrote:
> GPaste is a clipboard which now supports password natively without writing
> them to its history file and displaying a given name to identify them.
>
> Signed-off-by: Marc-Antoine Perennou <Marc-Antoine at Perennou.com>
> ---
>  src/password-store.sh | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/src/password-store.sh b/src/password-store.sh
> index dbeb710..92154ef 100755
> --- a/src/password-store.sh
> +++ b/src/password-store.sh
> @@ -139,6 +139,14 @@ clip_sleep() {
>         ( exec -a "$1" sleep "$CLIP_TIME" )
>  }
>
> +clip_gpaste() {
> +       gpaste add-password "$3" "$2"
> +       (
> +               clip_sleep "$1"
> +               gpaste delete-password "$3"
> +       ) 2>/dev/null & disown
> +}
> +
>  clip_xclip() {
>         # This base64 business is because bash cannot store binary data in a shell
>         # variable. Specifically, it cannot store nulls nor (non-trivally) store
> @@ -167,7 +175,13 @@ clip_xclip() {
>  clip() {
>         local sleep_argv0="password store sleep on display $DISPLAY"
>         pkill -f "^$sleep_argv0" 2>/dev/null && sleep 0.5
> -       clip_xclip "$sleep_argv0" "$@"
> +       local gpaste=0
> +       which gpaste &>/dev/null && gpaste help | grep password &>/dev/null && gpaste=1
> +       if [[ $gpaste -eq 1 ]]; then
> +               clip_gpaste "$sleep_argv0" "$@"
> +       else
> +               clip_xclip "$sleep_argv0" "$@"
> +       fi
>         echo "Copied $2 to clipboard. Will clear in $CLIP_TIME seconds."
>  }
>  tmpdir() {
> --
> 2.1.0
>

Any chance to get this reviewed?


More information about the Password-Store mailing list