Hi all.
tl;dr: If you want to run GNOME Software on MATE or XFCE you need to set an environment variable like GNOME_SOFTWARE_COMPATIBLE_PROJECTS=MATE,GNOME,XFCE
Long version: In the software application we have the problem where applications have the same name and summary, but are targeted against different desktops. We know when an app targets a specific desktop from the AppStream metadata (which currently uses a heuristic from the .desktop file) so we could filter these out client side. At the moment searching for notes gives you two similarly looking results results provided by two different applications: bijiben (GNOME) and xfce4-notes (XFCE). Also, because of the shared history, a lot of the MATE applications have the same name as the GNOME ones. This makes bad UI.
The default is GNOME_SOFTWARE_COMPATIBLE_PROJECTS=GNOME
(well, it is gnome-software after-all…) but if you want to show MATE projects and hide the core GNOME ones, just use a setting of MATE
. If you want XFCE, GNOME and MATE apps to show, just use MATE,GNOME,XFCE
.
As usual, comments and suggestions welcome.
Good to know. Thanks, man.
Hi,
I guess when you say “If you want to run GNOME Software on […]” you are referring to some GNOME software called “Software” and not that people have to set this environment variable in order to run any GNOME software?
Tobias
Right, sorry to be unclear.
Why don’t you use gsettings instead to store those values?
I ruled out GSettings, as you can easily go from one desktop to another. I think it’s fine to ask !GNOME desktops to set an env var if they don’t have an app installer themselves. KDE is fine as it has Apper.
Yes, check which desktop is currently running (I guess by sniffing dbus like yelp does) and use that, but you can use gsettings as overrides:
always-show-gnome-apps false
always-show-mate-apps false
always-show-xfce-apps false
Since distros and sysadmins already override gsettings defaults, this would be easier for them and feel more like the GNOME ways of doing things.
Can’t wait for the comment saying “Aaaah, GNOME application won’t run under Mate and XFCE unless you set a custom env var”. ;)
To be fair, I didn’s spot the capital “S” in the title until reading the article body, and I got it before reading the long version only because I know which application you’re currently working on. :)