diff options
author | Victor Kareh <[email protected]> | 2025-08-08 13:08:41 -0400 |
---|---|---|
committer | Victor Kareh <[email protected]> | 2025-08-08 13:12:24 -0400 |
commit | 6d9ddd1048111d1341566f16b30df085ce85eb7d (patch) | |
tree | 43aa0e1a8d382ea39980154856bd617a0dd18ef0 /applets/wncklet/showdesktop.c | |
parent | 20cb96dfb5f4b79d2bac212edcde8cdda9f3283c (diff) | |
download | mate-panel-bump-libwnck-version.tar.bz2 mate-panel-bump-libwnck-version.tar.xz |
wncklet: Bump libwnck to 43.0bump-libwnck-version
Recent versions of libwnck introduced a WnckHandler object to be used as
the main entry point into the library.
Diffstat (limited to 'applets/wncklet/showdesktop.c')
-rw-r--r-- | applets/wncklet/showdesktop.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/applets/wncklet/showdesktop.c b/applets/wncklet/showdesktop.c index 190077f1..28a140b6 100644 --- a/applets/wncklet/showdesktop.c +++ b/applets/wncklet/showdesktop.c @@ -52,6 +52,9 @@ typedef struct { GtkOrientation orient; int size; +#ifdef HAVE_X11 + WnckHandle* wnck_handle; +#endif WnckScreen* wnck_screen; guint showing_desktop: 1; @@ -308,6 +311,10 @@ static void applet_destroyed(GtkWidget* applet, ShowDesktopData* sdd) sdd->icon_theme = NULL; } +#ifdef HAVE_X11 + g_clear_object(&sdd->wnck_handle); +#endif + g_free (sdd); } @@ -371,7 +378,7 @@ static void show_desktop_applet_realized(MatePanelApplet* applet, gpointer data) #ifdef HAVE_X11 if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) { - sdd->wnck_screen = wnck_screen_get (gdk_x11_screen_get_screen_number (screen)); + sdd->wnck_screen = wncklet_get_screen (sdd->wnck_handle, sdd->applet); if (sdd->wnck_screen != NULL) wncklet_connect_while_alive (sdd->wnck_screen, "showing_desktop_changed", @@ -426,6 +433,13 @@ gboolean show_desktop_applet_fill(MatePanelApplet* applet) sdd->size = mate_panel_applet_get_size(MATE_PANEL_APPLET(sdd->applet)); +#ifdef HAVE_X11 + if (GDK_IS_X11_DISPLAY (gdk_display_get_default ())) + { + sdd->wnck_handle = wnck_handle_new(WNCK_CLIENT_TYPE_PAGER); + } +#endif + g_signal_connect (sdd->applet, "realize", G_CALLBACK (show_desktop_applet_realized), sdd); |