From 3f24a3f7d2fbf211255b5f6afd02faf92b763525 Mon Sep 17 00:00:00 2001 From: Victor Kareh Date: Wed, 20 Aug 2025 18:56:30 -0400 Subject: xsettings: Add gsettings for custom XSettings overrides Add XSettings override gsettings to allow changing arbitrary XSettings on GSettings without requiring code changes. This enables third-party tools (like unity-gtk-module extensions) to integrate with MATE by setting custom XSettings values at runtime. The implementation adds an 'overrides' key to the xsettings plugin schema which accepts a dictionary mapping XSetting names to values. The complete list of XSettings is over at https://www.freedesktop.org/wiki/Specifications/XSettingsRegistry/ Backported mostly from: - https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/commit/c6e9079d - https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/commit/35764838 Fixes: https://github.com/mate-desktop/mate-settings-daemon/issues/158 --- plugins/xsettings/xsettings-manager.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'plugins/xsettings/xsettings-manager.h') diff --git a/plugins/xsettings/xsettings-manager.h b/plugins/xsettings/xsettings-manager.h index 55f674b..ebd7740 100644 --- a/plugins/xsettings/xsettings-manager.h +++ b/plugins/xsettings/xsettings-manager.h @@ -25,6 +25,7 @@ #define XSETTINGS_MANAGER_H #include +#include #include "xsettings-common.h" #ifdef __cplusplus @@ -62,6 +63,8 @@ XSettingsResult xsettings_manager_set_color (XSettingsManager *manage const char *name, const XSettingsColor *value); XSettingsResult xsettings_manager_notify (XSettingsManager *manager); +void xsettings_manager_set_overrides (XSettingsManager *manager, + GVariant *overrides); #ifdef __cplusplus } -- cgit v1.2.1