From 7f72e0ad603cd76c7b65ce31af4afb691da36f88 Mon Sep 17 00:00:00 2001 From: William Wold Date: Mon, 11 Feb 2019 16:21:13 -0500 Subject: Wayland support for panel.c --- mate-panel/panel.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mate-panel/panel.c b/mate-panel/panel.c index ba384217..58727bf0 100644 --- a/mate-panel/panel.c +++ b/mate-panel/panel.c @@ -19,7 +19,10 @@ #include #include #include + +#ifdef HAVE_X11 #include /* for GTK_IS_SOCKET */ +#endif #include #include @@ -364,6 +367,8 @@ panel_popup_menu (PanelToplevel *toplevel, gtk_menu_set_screen (GTK_MENU (menu), gtk_window_get_screen (GTK_WINDOW (toplevel))); + gtk_window_set_attached_to (GTK_WINDOW (gtk_widget_get_toplevel (menu)), + GTK_WIDGET (toplevel)); gtk_menu_popup_at_pointer (GTK_MENU (menu), NULL); return TRUE; @@ -389,11 +394,14 @@ static gboolean panel_key_press_event (GtkWidget *widget, GdkEventKey *event) { +#ifdef HAVE_X11 /* * If the focus widget is a GtkSocket, i.e. the * focus is in an applet in another process, then key * bindings do not work. We get around this by * activating the key bindings here. + * + * Will always be false when not using X */ if (GTK_IS_SOCKET (gtk_window_get_focus (GTK_WINDOW (widget))) && event->keyval == GDK_KEY_F10 && @@ -401,6 +409,7 @@ panel_key_press_event (GtkWidget *widget, return gtk_bindings_activate (G_OBJECT (widget), event->keyval, event->state); +#endif return FALSE; } -- cgit v1.2.1