Hi, I maintain a library so while what I am asking is most likely not necessary for app developers or users of GTK apps, it is for my specific application, which is a sandboxed language binding.
I have a gsettings schema located at path
, how do I make such that when GTK loads, it will look at that path to load the settings.
Currently, starting GTK from the windows console, I get:
GLib-GIO-CRITICAL **: 19:51:09.259: g_settings_schema_source_lookup: assertion 'source != NULL' failed
And using things like ColorChooser
or FileDialog
will crash when attempting to read their settings. I am positive these settings are located at path
, which contains
gschemas.compiled
org.gtk.gtk4.Settings.ColorChooser.gschema.xml
org.gtk.gtk4.Settings.FileChooser.gschema.xml
- etc
How do I tell GTK4 where to find them programmatically, and to use path
as the default location? Moving them to a global system location would be bad practice due to the sandboxed nature, they have to stay at path
, specifically, and be loaded from there. If it is unavoidable, what would be that path on Windows? Afaik the docs only show the path for unix systems or MSYS, which is /usr/share/glib-2.0/schemas
I tried setting XDG_DATA_DIRS
, but that seems to be ignored on Windows. I furthermore know about g_settings_schema_source_new_from_directory
, which succeeds, but I am unsure of how to make the resulting GSettingsSchemaSource
instance the source all GTK widgets will use on startup.
Thank you