GNOME Software on MATE and XFCE

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.

Published by


Richard has over 10 years of experience developing open source software. He is the maintainer of GNOME Software, PackageKit, GNOME Packagekit, GNOME Power Manager, GNOME Color Manager, colord, and UPower and also contributes to many other projects and opensource standards. Richard has three main areas of interest on the free desktop, color management, package management, and power management. Richard graduated a few years ago from the University of Surrey with a Masters in Electronics Engineering. He now works for Red Hat in the desktop group, and also manages a company selling open source calibration equipment. Richard's outside interests include taking photos and eating good food.

7 thoughts on “GNOME Software on MATE and XFCE”

  1. 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?


    1. 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.

      1. 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.

  2. 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. :)

Comments are closed.