diff options
author | Vladimir Pinchuk | 2017-04-21 18:50:14 +0300 |
---|---|---|
committer | Vladimir Pinchuk | 2017-04-21 18:50:14 +0300 |
commit | 13d8bf45cf9ac2c046a2d3a36b69d9d8caf79f37 (patch) | |
tree | 9fd2cb0a4390c4c498444250528b5e4f6182ba64 /csd__appmenu-as-context-menu.patch | |
download | aur-13d8bf45cf9ac2c046a2d3a36b69d9d8caf79f37.tar.gz |
Import from AUR package gtk3-mushrooms
Diffstat (limited to 'csd__appmenu-as-context-menu.patch')
-rw-r--r-- | csd__appmenu-as-context-menu.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/csd__appmenu-as-context-menu.patch b/csd__appmenu-as-context-menu.patch new file mode 100644 index 000000000000..d4219b12111b --- /dev/null +++ b/csd__appmenu-as-context-menu.patch @@ -0,0 +1,30 @@ +--- src/gtk+/gtk/gtkwindow.c 2017-04-17 20:07:37.054580039 +0200 ++++ modified_files/gtkwindow_context-menu-appmenu.c 2017-04-17 20:06:20.311242903 +0200 +@@ -9000,13 +9000,17 @@ + iconified = (state & GDK_WINDOW_STATE_ICONIFIED) == GDK_WINDOW_STATE_ICONIFIED; + maximized = priv->maximized && !iconified; + +- priv->popup_menu = gtk_menu_new (); ++ if (gtk_application_get_app_menu (gtk_window_get_application (window)) == NULL) ++ return; ++ priv->popup_menu = gtk_menu_new_from_model (gtk_application_get_app_menu (gtk_window_get_application (window))); + gtk_style_context_add_class (gtk_widget_get_style_context (priv->popup_menu), + GTK_STYLE_CLASS_CONTEXT_MENU); + + gtk_menu_attach_to_widget (GTK_MENU (priv->popup_menu), + GTK_WIDGET (window), + popup_menu_detach); ++ gtk_menu_popup_at_pointer (GTK_MENU (priv->popup_menu), (GdkEvent *) event); ++ return; + + menuitem = gtk_menu_item_new_with_label (_("Restore")); + gtk_widget_show (menuitem); +@@ -9092,7 +9096,7 @@ + gtk_window_do_popup (GtkWindow *window, + GdkEventButton *event) + { +- if (!gdk_window_show_window_menu (_gtk_widget_get_window (GTK_WIDGET (window)), ++ if (TRUE || !gdk_window_show_window_menu (_gtk_widget_get_window (GTK_WIDGET (window)), + (GdkEvent *) event)) + gtk_window_do_popup_fallback (window, event); + } |