summaryrefslogtreecommitdiff
path: root/plugins/background
diff options
context:
space:
mode:
authorSunderland93 <[email protected]>2026-08-01 11:17:58 +0400
committerLuke from DC <[email protected]>2026-08-19 19:15:44 +0000
commit537e98c4ca8dc78f25d796af12f7f3a25b070e9b (patch)
treec55a8fc7ed9ce3f8178ce50eb4a16f2a4c16ce85 /plugins/background
parent7a53cc78e1418f37593055fa8c7a1ce0cbd5643f (diff)
downloadmate-settings-daemon-537e98c4ca8dc78f25d796af12f7f3a25b070e9b.tar.bz2
mate-settings-daemon-537e98c4ca8dc78f25d796af12f7f3a25b070e9b.tar.xz
Initial Wayland support
Diffstat (limited to 'plugins/background')
-rw-r--r--plugins/background/background.mate-settings-plugin.desktop.in1
-rw-r--r--plugins/background/msd-background-manager.c21
2 files changed, 22 insertions, 0 deletions
diff --git a/plugins/background/background.mate-settings-plugin.desktop.in b/plugins/background/background.mate-settings-plugin.desktop.in
index 3c7a6a2..ae5fc48 100644
--- a/plugins/background/background.mate-settings-plugin.desktop.in
+++ b/plugins/background/background.mate-settings-plugin.desktop.in
@@ -1,6 +1,7 @@
[MATE Settings Plugin]
Module=background
IAge=0
+X11Only=true
Name=Background
Description=Background plugin
Authors=
diff --git a/plugins/background/msd-background-manager.c b/plugins/background/msd-background-manager.c
index 5264bfa..5b8acea 100644
--- a/plugins/background/msd-background-manager.c
+++ b/plugins/background/msd-background-manager.c
@@ -37,7 +37,9 @@
#include <glib.h>
#include <glib/gi18n.h>
#include <gdk/gdk.h>
+#ifdef GDK_WINDOWING_X11
#include <gdk/gdkx.h>
+#endif /* GDK_WINDOWING_X11 */
#include <gio/gio.h>
#define MATE_DESKTOP_USE_UNSTABLE_API
@@ -241,6 +243,20 @@ msd_background_manager_start (MsdBackgroundManager *manager,
g_debug ("Starting background manager");
mate_settings_profile_start (NULL);
+#ifdef GDK_WINDOWING_X11
+ if (!GDK_IS_X11_DISPLAY (gdk_display_get_default ())) {
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "X11 display is required for the background plugin");
+ mate_settings_profile_end (NULL);
+ return FALSE;
+ }
+#else
+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+ "The background plugin was built without X11 support");
+ mate_settings_profile_end (NULL);
+ return FALSE;
+#endif /* GDK_WINDOWING_X11 */
+
manager->settings = g_settings_new (MATE_BG_SCHEMA);
manager->bg = mate_bg_new();
@@ -265,6 +281,11 @@ msd_background_manager_stop (MsdBackgroundManager *manager)
{
g_debug ("Stopping background manager");
+#ifdef GDK_WINDOWING_X11
+ if (!GDK_IS_X11_DISPLAY (gdk_display_get_default ()))
+ return;
+#endif /* GDK_WINDOWING_X11 */
+
disconnect_screen_signals (manager);
if (manager->settings != NULL) {