summaryrefslogtreecommitdiff
path: root/plugins/xsettings/xsettings-manager.h
diff options
context:
space:
mode:
authorVictor Kareh <[email protected]>2025-08-20 18:56:30 -0400
committerVictor Kareh <[email protected]>2025-08-20 18:56:30 -0400
commit3f24a3f7d2fbf211255b5f6afd02faf92b763525 (patch)
treeebf8e98865146dd89f9b4d9a72be763c3f685a73 /plugins/xsettings/xsettings-manager.h
parente57d532ac69fc3f6f5a34d9ce648bbdfb6a81185 (diff)
downloadmate-settings-daemon-xsettings-overrides.tar.bz2
mate-settings-daemon-xsettings-overrides.tar.xz
xsettings: Add gsettings for custom XSettings overridesxsettings-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
Diffstat (limited to 'plugins/xsettings/xsettings-manager.h')
-rw-r--r--plugins/xsettings/xsettings-manager.h3
1 files changed, 3 insertions, 0 deletions
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 <X11/Xlib.h>
+#include <glib.h>
#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
}