A Python package for interacting with Gnome search providers without using Gnome Shell
Project description
PyGnomeSearchClient
PyGnomeSearchClient is a Python package for interacting with Gnome search providers outside the Gnome Shell environment. This package is targeted mostly at users of compositors with custom widgets, especially Ignis since that's what I currently use.
Rationale
Gnome search providers provide a simple-to-use API for searching various apps on the system but is currently limited to use on Gnome Shell. Even without Gnome Shell installed or running, most apps that provide search providers still register their search provider interfaces on DBus and still place their search configuration files in deterministic places, meaning that a different app could interact with them. This package aims to create a wrapper around the DBus calls used to interact with the providers.
Gnome search providers are fairly widely used. On my system, the installed search providers are:
- Files (Nautilus)
- Boxes
- Calendar
- Cartridges
- Clocks
- Firefox (broken?)
- Passwords and Keys (Seahorse)
- Qalculate-gtk!
- Settings
- Software
- Web (Epiphany)
Any of these, in isolation, could be easily coded into a desktop UI framework, but maintaining dozens of different search providers becomes taxing. Additionally, adding a new provider does not mean changing your dotfiles at all. Rolling your own search provider is also fairly simple, requiring only that a DBus service be registered and a config file be placed in some location.
Usage
TODO
Documentation
Gnome search providers place an ini file in one of a number of locations, generally
/usr/share/gnome-shell/search-providers if installed globally.
The file has the structure:
[Shell Search Provider]
DesktopId=xxx.desktop
BusName=xxx.SearchProvider2 (generally)
ObjectPath=/xx/xxx/SearchProvider
Version=2
The DBus interface is described by Gnome here,
but the gist of it is that, under the bus name above, providers register methods GetInitialResultSet,
GetSubsearchResultSet, GetResultMetas, ActivateResult, and LaunchSearch.
This package provides wrappers for these methods and collects search providers while optionally
maintaining state information.
Contributing
Please open an issue for any bugs or feature requests. If you know Python and PyGObject, feel free to open a PR.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gnomesearchclient-0.1.1.tar.gz.
File metadata
- Download URL: gnomesearchclient-0.1.1.tar.gz
- Upload date:
- Size: 20.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
794bcc53a8556487b0a634ab925490fae2a5a65daa51e0737fd4e58acfbaedd6
|
|
| MD5 |
e0aef964547ee70120261c53fb9fd17a
|
|
| BLAKE2b-256 |
9978849595901a58dfd8a46cf1f7ef7df11664ff8234cf8399f7bfebe677994a
|
Provenance
The following attestation bundles were made for gnomesearchclient-0.1.1.tar.gz:
Publisher:
python-publish.yml on whipped-cream/PyGnomeSearchClient
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gnomesearchclient-0.1.1.tar.gz -
Subject digest:
794bcc53a8556487b0a634ab925490fae2a5a65daa51e0737fd4e58acfbaedd6 - Sigstore transparency entry: 731223020
- Sigstore integration time:
-
Permalink:
whipped-cream/PyGnomeSearchClient@434a5f98f929d7f399a03099f6747f8653d6d504 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/whipped-cream
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@434a5f98f929d7f399a03099f6747f8653d6d504 -
Trigger Event:
release
-
Statement type:
File details
Details for the file gnomesearchclient-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gnomesearchclient-0.1.1-py3-none-any.whl
- Upload date:
- Size: 20.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2174f6416331646b538dde42a2b327ebd670a043ffa21d6cc4152192429b17df
|
|
| MD5 |
cc1075be8da65991e55694f9f9fea1f8
|
|
| BLAKE2b-256 |
f521b3180f5945337f7153f1f6a75bd3d7ca73af1982dfa0d6318ae391aa6f14
|
Provenance
The following attestation bundles were made for gnomesearchclient-0.1.1-py3-none-any.whl:
Publisher:
python-publish.yml on whipped-cream/PyGnomeSearchClient
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gnomesearchclient-0.1.1-py3-none-any.whl -
Subject digest:
2174f6416331646b538dde42a2b327ebd670a043ffa21d6cc4152192429b17df - Sigstore transparency entry: 731223021
- Sigstore integration time:
-
Permalink:
whipped-cream/PyGnomeSearchClient@434a5f98f929d7f399a03099f6747f8653d6d504 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/whipped-cream
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@434a5f98f929d7f399a03099f6747f8653d6d504 -
Trigger Event:
release
-
Statement type: