summaryrefslogtreecommitdiff
path: root/applets/wncklet/wncklet.c
diff options
context:
space:
mode:
Diffstat (limited to 'applets/wncklet/wncklet.c')
-rw-r--r--applets/wncklet/wncklet.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/applets/wncklet/wncklet.c b/applets/wncklet/wncklet.c
index 3b185910..1ced4507 100644
--- a/applets/wncklet/wncklet.c
+++ b/applets/wncklet/wncklet.c
@@ -35,11 +35,15 @@
#include <gdk/gdkx.h>
#define WNCK_I_KNOW_THIS_IS_UNSTABLE
#include <libwnck/libwnck.h>
+#include "workspace-switcher.h"
+#endif
+#ifndef HAVE_X11
+#include <gdk/gdkwayland.h>
+#define GDK_IS_X11_DISPLAY(object) !(G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WAYLAND_DISPLAY))
#endif
#include "wncklet.h"
#include "window-menu.h"
-#include "workspace-switcher.h"
#include "window-list.h"
#include "showdesktop.h"
@@ -96,18 +100,19 @@ void wncklet_display_help(GtkWidget* widget, const char* doc_id, const char* lin
}
#ifdef HAVE_X11
-WnckScreen* wncklet_get_screen(GtkWidget* applet)
+WnckScreen* wncklet_get_screen(WnckHandle* handle, GtkWidget* applet)
{
+ g_return_val_if_fail (WNCK_IS_HANDLE (handle), NULL);
g_return_val_if_fail (GDK_IS_X11_DISPLAY (gdk_display_get_default ()), NULL);
int screen_num;
if (!gtk_widget_has_screen(applet))
- return wnck_screen_get_default();
+ return wnck_handle_get_default_screen(handle);
screen_num = gdk_x11_screen_get_screen_number(gtk_widget_get_screen(applet));
- return wnck_screen_get(screen_num);
+ return wnck_handle_get_screen(handle, screen_num);
}
#endif /* HAVE_X11 */
@@ -124,22 +129,12 @@ static gboolean wncklet_factory(MatePanelApplet* applet, const char* iid, gpoint
{
gboolean retval = FALSE;
-#ifdef HAVE_X11
- if (GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
- {
- static gboolean type_registered = FALSE;
- if (!type_registered)
- {
- wnck_set_client_type(WNCK_CLIENT_TYPE_PAGER);
- type_registered = TRUE;
- }
- }
-#endif /* HAVE_X11 */
-
if (!strcmp(iid, "WindowMenuApplet"))
retval = window_menu_applet_fill(applet);
+#ifdef HAVE_X11
else if (!strcmp(iid, "WorkspaceSwitcherApplet") || !strcmp(iid, "PagerApplet"))
retval = workspace_switcher_applet_fill(applet);
+#endif
else if (!strcmp(iid, "WindowListApplet") || !strcmp(iid, "TasklistApplet"))
retval = window_list_applet_fill(applet);
else if (!strcmp(iid, "ShowDesktopApplet"))