During the shell initialization we call the (deprecated) function to override the Desktop environment in Gio DesktopAppInfo to make sure that applications are correctly shown (as per commit b2fbf5a2), however this might break the cases in which $XDG_CURRENT_DESKTOP is already set and contains GNOME (given that is now a list). In Ubuntu this is in fact set to: ubuntu:GNOME. Now, if an application contains NotShowIn=ubuntu, the key will be ignored by the shell, and the application is still listed everywhere. So, override the DesktopAppInfo desktop environment only in the case that the current desktop is not already GNOME. At the current date I think we could just safely get rid of this override at all, but there could be still cases where it still might be useful, like when running as nested in some other environment, so keeping it. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1156
GNOME Shell
GNOME Shell provides core user interface functions for the GNOME 3 desktop, like switching to windows and launching applications. GNOME Shell takes advantage of the capabilities of modern graphics hardware and introduces innovative user interface concepts to provide a visually attractive and easy to use experience.
For more information about GNOME Shell, including instructions on how to build GNOME Shell from source and how to get involved with the project, see the project wiki.
Bugs should be reported to the GNOME bug tracking system.
Contributing
To contribute, open merge requests at https://gitlab.gnome.org/GNOME/gnome-shell.
Commit messages should follow the GNOME commit message guidelines. We require an URL to either an issue or a merge request in each commit.
License
GNOME Shell is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.