Jonathan Lestrelin 638b366b05 * Try GPaste2 API in D-Bus if GPaste1 doesn't work
* Make sure specfile builds under Fedora 33
* Cleanup/improve README
2020-10-03 07:08:04 +02:00
2019-01-15 19:06:18 +01:00
2017-08-20 14:49:50 +02:00
2017-10-02 00:34:10 +02:00

A search provider for GNOME Shell that adds support for searching in zx2c4/pass.

Names of passwords will show up in GNOME Shell searches, choosing one will copy the corresponding content to the clipboard.

Supports OTP, fields and can use GPaste.

Sreencapture

Installation

Arch Linux

Install gnome-pass-search-provider-git from the AUR.

Manual

Ensure that python>=3.5 as well as the dbus, gobject, fuzzywuzzy modules are installed. They should all be packaged under python-name or python3-name depending on your distribution.

Clone this repository and run the installation script as root:

git clone git@github.com:jle64/gnome-shell-pass-search-provider.git
sudo ./install.sh

Post-installation

Log out and reopen your GNOME session.

The search provider will be loaded automatically when doing a search. You should see it enabled in GNOME Settings Search pane.

OTP

The pass-otp extension is supported. Searches starting with otp will copy the otp token to the clipboard.

Fields

To copy other values than the password in the first line from a pass file, start the search with :NAME search.... The field name must be a full but case insensitive match. This requires GPaste.

For example with a pass file like:

SUPERSECRETPASSWORD
user: username
pin: 123456

To copy the pin start the search with :pin and for the username :user.

Environment variables

If you are configuring pass through environment variables, such as PASSWORD_STORE_DIR, make sure to set them in a way that will propagate to the search provider executable, not just in your shell.

Setting them in ~/.profile or ~/.pam_environment should be sufficient, but stuff in shell-specific files such as ~/.bashrc will not be picked up by gnome-shell.

If your values have no effect, make sure they propagate to the script environment:

ps auxeww | grep [g]nome-pass-search-provider.py

Clipboard managers

If you are using GPaste, passwords will be sent to it marked as passwords, thus ensuring they are not visible. Otherwise they are sent to the clipboard using pass -c which defaults to expiration after 45 seconds.

Compatibility

This implements the org.gnome.Shell.SearchProvider2 D-Bus API and has been tested with GNOME Shell 3.22-3.38. This uses the org.gnome.GPaste1 or org.gnome.GPaste2 versions of the GPaste D-Bus API to add passwords to GPaste.

Troubleshooting

If you don't see passphrase prompts when your key is locked, it might be because GPG is not using the right pinentry program. You can force gpg-agent to use pinentry-gnome3 by adding pinentry-program /usr/bin/pinentry-gnome3 to ~/.gnupg/gpg-agent.conf.

If you encounter problems, make sure to look to wherever GNOME and D-Bus are logging for error messages. You can do this using journalctl --user on systemd-using systems.

Don't hesitate to open an issue.

Description
No description provided
Readme GPL-3.0 18 MiB
Languages
Python 91.8%
Shell 8.2%