shell/app: Honor XDG SingleMainWindow key

This is the upstreamed version of X-GNOME-SingleWindow which is now a
part of the XDG desktop file spec as of version 1.5; see
https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/53

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2084>
This commit is contained in:
Nate Graham 2022-01-05 09:13:12 -07:00 committed by Marge Bot
parent a48fd70e38
commit a13b2358a9

View File

@ -661,7 +661,16 @@ shell_app_can_open_new_window (ShellApp *app)
desktop_info = G_DESKTOP_APP_INFO (app->info);
/* If the app is explicitly telling us, then we know for sure */
/* If the app is explicitly telling us via its desktop file, then we know
* for sure
*/
if (g_desktop_app_info_has_key (desktop_info, "SingleMainWindow"))
return !g_desktop_app_info_get_boolean (desktop_info,
"SingleMainWindow");
/* GNOME-specific key, for backwards compatibility with apps that haven't
* started using the XDG "SingleMainWindow" key yet
*/
if (g_desktop_app_info_has_key (desktop_info, "X-GNOME-SingleWindow"))
return !g_desktop_app_info_get_boolean (desktop_info,
"X-GNOME-SingleWindow");