diff --git a/src/menu.c b/src/menu.c index 6e81a865d68052c77e0056cf13300f2c2c67cf38..d8399f6af5ef33ff21f8582128a6cc3acc2a4980 100644 --- a/src/menu.c +++ b/src/menu.c @@ -97,6 +97,8 @@ popup_position_func (GtkMenu * menu, gint * x, gint * y, gboolean * push_in, { GtkRequisition req; GdkPoint *pos; + gint monitor; + GdkScreen *screen; pos = user_data; @@ -120,6 +122,11 @@ popup_position_func (GtkMenu * menu, gint * x, gint * y, gboolean * push_in, { *y = (gdk_screen_height () - req.height) / 2; } + + screen = gtk_widget_get_screen (GTK_WIDGET(menu)); + monitor = find_monitor_at_point (screen, *x, *y); + gtk_menu_set_monitor (GTK_MENU (menu), monitor); + g_free (user_data); }