From 5d2fbbe19a33a99d4ba2b7e4f715e6b6ea8d229e Mon Sep 17 00:00:00 2001 From: William Wold Date: Tue, 18 Jun 2019 05:59:48 +0000 Subject: Panel addto Wayland support --- mate-panel/panel-addto.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'mate-panel/panel-addto.c') diff --git a/mate-panel/panel-addto.c b/mate-panel/panel-addto.c index dfebba26..bd16ea33 100644 --- a/mate-panel/panel-addto.c +++ b/mate-panel/panel-addto.c @@ -27,7 +27,6 @@ #include #include -#include #include @@ -54,6 +53,13 @@ #include "panel-schemas.h" #include "panel-stock-icons.h" +#ifdef HAVE_X11 +#include "xstuff.h" +#endif +#ifdef HAVE_WAYLAND +#include "gdk/gdkwayland.h" +#endif + typedef struct { PanelWidget *panel_widget; @@ -1375,7 +1381,8 @@ panel_addto_present (GtkMenuItem *item, PanelToplevel *toplevel; PanelData *pd; GdkScreen *screen; - gint screen_height; + GdkMonitor *monitor; + GdkRectangle monitor_geom; gint height; toplevel = panel_widget->toplevel; @@ -1389,8 +1396,10 @@ panel_addto_present (GtkMenuItem *item, panel_addto_dialog_quark); screen = gtk_window_get_screen (GTK_WINDOW (toplevel)); - screen_height = HeightOfScreen (gdk_x11_screen_get_xscreen (screen)); - height = MIN (MAX_ADDTOPANEL_HEIGHT, 3 * (screen_height / 4)); + monitor = gdk_display_get_monitor_at_window (gtk_widget_get_display (GTK_WIDGET (toplevel)), + gtk_widget_get_window (GTK_WIDGET (toplevel))); + gdk_monitor_get_geometry (monitor, &monitor_geom); + height = MIN (MAX_ADDTOPANEL_HEIGHT, 3 * (monitor_geom.height / 4)); if (!dialog) { dialog = panel_addto_dialog_new (panel_widget); -- cgit v1.2.1