diff options
Diffstat (limited to 'applets/wncklet/window-menu.c')
| -rw-r--r-- | applets/wncklet/window-menu.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/applets/wncklet/window-menu.c b/applets/wncklet/window-menu.c index 4b4e48dc..18f33f19 100644 --- a/applets/wncklet/window-menu.c +++ b/applets/wncklet/window-menu.c @@ -45,6 +45,10 @@ #include <gdk/gdkwayland.h> #endif /* HAVE_WAYLAND */ +#ifndef HAVE_X11 +#define GDK_IS_X11_DISPLAY(object) !(G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_DISPLAY)) +#endif + #include "wncklet.h" #include "window-menu.h" @@ -53,6 +57,9 @@ typedef struct { GtkWidget* applet; GtkWidget* selector; +#ifdef HAVE_X11 + WnckHandle* wnck_handle; +#endif int size; MatePanelAppletOrient orient; } WindowMenu; @@ -119,6 +126,9 @@ static const GtkActionEntry window_menu_actions[] = { static void window_menu_destroy(GtkWidget* widget, WindowMenu* window_menu) { +#ifdef HAVE_X11 + g_clear_object(&window_menu->wnck_handle); +#endif g_free(window_menu); } @@ -252,7 +262,8 @@ gboolean window_menu_applet_fill(MatePanelApplet* applet) #ifdef HAVE_X11 if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) { - window_menu->selector = wnck_selector_new(); + window_menu->wnck_handle = wnck_handle_new(WNCK_CLIENT_TYPE_PAGER); + window_menu->selector = wnck_selector_new_with_handle(window_menu->wnck_handle); } else #endif /* HAVE_X11 */ |
