Show results from search providers which have `NoDisplay=true`
I created a custom search provider, to integrate the online service Pinboard.in in my Shell overview.
I did this by installing a .desktop
file named uk.me.afuera.PinboardSearchProvider
, and a corresponding D-Bus .service
and .search-provider.ini
file, and it works nicely.
However, this results in a useless "Pinboard.in" application appearing in the list of applications. It's harmless (executing it just starts the D-Bus service) but confusing. I would like a way to cause this to not appear in the applications list.
The XDG .desktop spec provides the NoDisplay
option, but that causes the search provider to stop working (due to https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/master/js/ui/remoteSearch.js#L93).
I propose that NoDisplay
shouldn't be considered for search providers. The spec says this:
NoDisplay
means "this application exists, but don't display it in the menus". This can be useful to e.g. associate this application with MIME types, so that it gets launched from a file manager (or other apps), without having a menu entry for it (there are tons of good reasons for this, including e.g. the netscape -remote, or kfmclient openURL kind of stuff).
This is different to Hidden
:
... It's strictly equivalent to the .desktop file not existing at all, as far as that user is concerned. ...
We should change https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/master/js/ui/remoteSearch.js#L93 to check only the 'hidden' attribute.