Matthias Vogelgesang 119a5c42f0 Implement fuzzy search and ranking
The regex based method to find key matches does not work very well for deeper
hierarchies and partial matching of the hierarchy levels. This approach uses the
SequenceMatcher from the difflib module to compute a score for an entry and rank
them accordingly.

This change also filters out all hidden file system entries to avoid traversing
and evaluating Git repositories which are commonly used to store pass storages.
2017-09-04 11:23:52 +02:00
2017-04-16 04:54:28 +02:00
2017-08-20 14:49:50 +02:00
2017-04-12 06:00:37 +02:00
2017-03-15 18:24:51 +01:00

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

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

Sreencapture

Installation

Packages

Arch Linux

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

Others

TODO

Manual

Ensure that python>=3.5 and python-gobject are installed on your system and that pass is setup.

Download or clone this repository:

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

Run the installation script as root:

sudo ./install.sh

If you need to you can change the installation paths to suit your system:

sudo SYSCONFDIR=/etc DATADIR=/usr/share LIBDIR=/usr/lib LIBEXECDIR=/usr/lib ./install.sh

Post-installation

Recommended : set gpg agent to use pinentry-gnome3 by adding pinentry-program /usr/bin/pinentry-gnome3 to ~/.gnupg/.gpg-agent.conf.

Close and reopen your GNOME session or (if not on Wayland) just restart the Shell (alt + f2, r). The search provider should show up and be enabled in GNOME search preferences and started on demand by GNOME Shell.

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 should be sufficient.

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. I'm not sure since when this has been in GNOME nor until when it will stay. This works fine on GNOME 3.22 and I expect it will continue to work for some time with ulterior versions.

Troubleshooting

If this does not work for you, make sure to look to wherever GNOME and D-Bus are logging for error messages (in the journal 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%