[gnome-shell/gnome-41] shell/app: Honor XDG SingleMainWindow key



commit 7012d08b23b1bf46eb82d088f970676d8e2c3776
Author: Nate Graham <nate kde org>
Date:   Wed Jan 5 09:13:12 2022 -0700

    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>
    (cherry picked from commit a13b2358a9119fe42b2c4c0e0c05a04405a2c362)

 src/shell-app.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/src/shell-app.c b/src/shell-app.c
index 587b4a4edb..a3215db59e 100644
--- a/src/shell-app.c
+++ b/src/shell-app.c
@@ -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");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]