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
.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:
NoDisplaymeans "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
... 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.