From ff3f2c84b41f5e47c2d77bdf78f0144667f30ba1 Mon Sep 17 00:00:00 2001 From: Timo Loewe Date: Mon, 31 Dec 2018 19:11:46 +0100 Subject: [PATCH 1/4] Fix path to gpg-agent.conf --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eaf56d7..ade88fa 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ sudo SYSCONFDIR=/etc DATADIR=/usr/share LIBDIR=/usr/lib LIBEXECDIR=/usr/lib ./in # Post-installation -Recommended : set gpg agent to use pinentry-gnome3 by adding `pinentry-program /usr/bin/pinentry-gnome3` to `~/.gnupg/.gpg-agent.conf`. +Recommended : set gpg agent to use pinentry-gnome3 by adding `pinentry-program /usr/bin/pinentry-gnome3` to `~/.gnupg/gpg-agent.conf`. If you are on Xorg, restart GNOME Shell by typing 'alt + f2' then entering 'r' as command. If you are on Wayland, you need to close and reopen your GNOME session. From b63989aeaad96aff9c1118991c6d98cd7e4624e1 Mon Sep 17 00:00:00 2001 From: Timo Loewe Date: Tue, 1 Jan 2019 13:54:48 +0100 Subject: [PATCH 2/4] Fix desktop entry still showing up in application overview --- conf/org.gnome.Pass.SearchProvider.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/org.gnome.Pass.SearchProvider.desktop b/conf/org.gnome.Pass.SearchProvider.desktop index 9a17c40..9a15878 100644 --- a/conf/org.gnome.Pass.SearchProvider.desktop +++ b/conf/org.gnome.Pass.SearchProvider.desktop @@ -7,4 +7,4 @@ Comment=GNOME Shell search provider for pass Terminal=false Type=Application OnlyShowIn=GNOME; -NoDisplay=true; +NoDisplay=true From 327c58f055e178017334cd7a638099ed025422bb Mon Sep 17 00:00:00 2001 From: Timo Loewe Date: Tue, 1 Jan 2019 13:55:21 +0100 Subject: [PATCH 3/4] Only copy first line of multi-line password store entries --- gnome-pass-search-provider.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/gnome-pass-search-provider.py b/gnome-pass-search-provider.py index 949ad8f..53f56cc 100755 --- a/gnome-pass-search-provider.py +++ b/gnome-pass-search-provider.py @@ -104,14 +104,14 @@ class SearchPassService(dbus.service.Object): limit=5)] def send_password_to_gpaste(self, name): - pass_cmd = subprocess.run( - ['pass', 'show', name], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE - ) - password = re.sub(b'\n$', b'', pass_cmd.stdout) - error = re.sub(b'\n$', b'', pass_cmd.stderr) - if not pass_cmd.returncode: + try: + pass_output = subprocess.check_output( + ['pass', 'show', name], + stderr=subprocess.STDOUT, + text=True + ) + password = pass_output.split('\n', 1)[0] + self.session_bus.get_object( 'org.gnome.GPaste.Daemon', '/org/gnome/GPaste' @@ -121,8 +121,9 @@ class SearchPassService(dbus.service.Object): dbus_interface='org.gnome.GPaste1' ) self.notify('Password {} copied to clipboard.'.format(name)) - else: - self.notify('Failed to copy password', body=error, error=True) + + except subprocess.CalledProcessError as error: + self.notify('Failed to copy password!', body=error.output, error=True) def send_password_to_native_clipboard(self, name): pass_cmd = subprocess.run(['pass', 'show', '-c', name]) From 07cdb9c79d9ee6b09b576772414eba15e5d2f568 Mon Sep 17 00:00:00 2001 From: Timo Loewe Date: Tue, 1 Jan 2019 14:46:29 +0100 Subject: [PATCH 4/4] Show icon for individual search results --- gnome-pass-search-provider.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnome-pass-search-provider.py b/gnome-pass-search-provider.py index 949ad8f..87983c4 100755 --- a/gnome-pass-search-provider.py +++ b/gnome-pass-search-provider.py @@ -72,7 +72,7 @@ class SearchPassService(dbus.service.Object): @dbus.service.method(in_signature='as', out_signature='aa{sv}', **sbn) def GetResultMetas(self, ids): - return [dict(id=id, name=id,) for id in ids] + return [dict(id=id, name=id, gicon="password-manager") for id in ids] @dbus.service.method(in_signature='asas', out_signature='as', **sbn) def GetSubsearchResultSet(self, previous_results, new_terms):