From 900398406c894f000fb59cbc4f7b1214eacb457d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Thu, 23 Aug 2018 15:56:50 +0200 Subject: [PATCH] panel: Keep prefs in sync with shell-shows-app-menu state Previously mutter listened to Xsettings (via GTK) to get notified whether the shell showed the app menu. After X11 support was changed in the direction of being less central, listening to this particular Xsettings were removed with the intention of having the Shell tell mutter directly whether it was showing the menu or not. This commit makes that happen. It still travels through Xsettings (still via Gtk), as the shell still gets that state from Xsettings, but fixing this is out of scope for this particular fix. Closes: https://gitlab.gnome.org/GNOME/mutter/issues/276 --- js/ui/panel.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/ui/panel.js b/js/ui/panel.js index 4fd599c47..3726b8445 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -307,8 +307,11 @@ var AppMenuButton = new Lang.Class({ } } + let shellShowsAppMenu = this._gtkSettings.gtk_shell_shows_app_menu; + Meta.prefs_set_show_fallback_app_menu(!shellShowsAppMenu); + let visible = (this._targetApp != null && - this._gtkSettings.gtk_shell_shows_app_menu && + shellShowsAppMenu && !Main.overview.visibleTarget); if (visible) this.show();