GNOME Bugzilla – Bug 755925
unable to edit gnome-terminal settings
Last modified: 2017-08-08 00:16:08 UTC
With the recent change to use gsettings_schema_list_keys, dconf-editor is now unable to edit the gnome-terminal profile settings. Steps: Navigate to /org/gnome/terminal/legacy/profiles:/:$UUID Actual results: Cannot edit any value in the directory; clicking just brings up a 'No Schema, cannot edit value.' dialogue. The reason is because due to deficiencies in gsettings (bug 622126), gnome-terminal's profile settings have an unusual setup with the profile itself having a relocatable schema (org.gnome.Terminal.Legacy.Profile) but without those profiles (the paths ofwhich cannot be enumerated at schema installation time) being in the global schema as child schemas.
Dconf Editor (in its development “master” branch) doesn’t use GSettings to list/access keys, but as previously the Dconf client. It uses GSettingsSchema to get schemas infos instead of its own parser as before, and doesn’t get relocatable schemas infos for now (and looks like it will be hard, but I’ll try), but that wasn’t the case also in 3.18 and previous releases. I may have missed something, but I’m quite sure this bug is “just” about adding back a way to edit keys even if there’s no understood schema for it. I’ll have a look, It shouldn’t take much time.
If I correctly understood the problem, it’s solved. Thanks for reporting the bug, and don’t hesitate to reopen if I missed something. The current UI, with probably some more change, will be available for the 3.20 release in six monthes.
Yes, that works now, thanks!
Actually, it needs more work: while now you can edit the keys that already have dconf values, it's impossible to edit a value that's in the schema but has not yet been set to dconf, since there's no way to *add* a new key in the directory. To test this, use gnome-terminal's Preferences->Profiles->New to add a new profile, then navigate in dconf-editor to this profile; most keys of the schema won't be set in dconf and thus can't be edited.
That’s basically a limitation of relocatable schemas, from both dconf and glib: you cannot know from a given path what’s the schema that applied to it. And as all the informations are known either from the schemas, or from the modified keys… I’ll let the bug open, but that needs work in the libraries before.