aboutsummarylogtreecommitdiffstats
path: root/csd__appmenu-as-context-menu.patch
diff options
context:
space:
mode:
authorVladimir Pinchuk2017-04-21 18:50:14 +0300
committerVladimir Pinchuk2017-04-21 18:50:14 +0300
commit13d8bf45cf9ac2c046a2d3a36b69d9d8caf79f37 (patch)
tree9fd2cb0a4390c4c498444250528b5e4f6182ba64 /csd__appmenu-as-context-menu.patch
downloadaur-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.patch30
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);
+ }