From 32bad67746e4cbf9803a45f994d2f7f5ffb95280 Mon Sep 17 00:00:00 2001
From: c4pp4
Date: Mon, 11 Aug 2025 01:15:17 +0200
Subject: [PATCH 1/1] Disable global menu via UBUNTU_MENUPROXY

Signed-off-by: c4pp4
---
 gtk/gtkapplication-dbus.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gtk/gtkapplication-dbus.c b/gtk/gtkapplication-dbus.c
index a663aed..068ae83 100644
--- a/gtk/gtkapplication-dbus.c
+++ b/gtk/gtkapplication-dbus.c
@@ -473,7 +473,8 @@ gtk_application_impl_dbus_startup (GtkApplicationImpl *impl,
       g_value_unset (&value);
     }
 
-  if (!same_bus)
+  const char *menu_proxy = g_getenv ("UBUNTU_MENUPROXY");
+  if (!same_bus || (menu_proxy && g_strcmp0 (menu_proxy, "0") == 0))
     g_object_set (gtk_settings_get_default (),
                   "gtk-shell-shows-app-menu", FALSE,
                   "gtk-shell-shows-menubar", FALSE,
@@ -593,6 +594,17 @@ gtk_application_impl_dbus_publish_menu (GtkApplicationImplDBus  *dbus,
 {
   gint i;
 
+  gboolean shows_app_menu = TRUE;
+  gboolean shows_menubar = TRUE;
+  GtkSettings *gtk_settings = gtk_settings_get_default ();
+  g_object_get (gtk_settings,
+                "gtk-shell-shows-app-menu", &shows_app_menu,
+                "gtk-shell-shows-menubar", &shows_menubar,
+                NULL);
+
+  if (!shows_app_menu && !shows_menubar)
+    return;
+
   if (dbus->session == NULL)
     return;
 
-- 
2.49.1

