After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 778225 - RFE: gsettings is missing path retrieval functionality for relocatable schemas
RFE: gsettings is missing path retrieval functionality for relocatable schemas
Status: RESOLVED OBSOLETE
Product: glib
Classification: Platform
Component: gsettings
2.50.x
Other Linux
: Normal enhancement
: ---
Assigned To: Allison Karlitskaya (desrt)
gtkdev
Depends on:
Blocks:
 
 
Reported: 2017-02-06 05:30 UTC by ag
Modified: 2018-05-24 19:23 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description ag 2017-02-06 05:30:20 UTC
** Note: this is not really a bug but rather a request for enhancement **

gsettings allows to list relocatable schemas and find UUIDs of list elements (eg. teminal profiles). But it seems to be impossible to detect the path suffix with gsettings (v.2.50.2) even though paths are explicitly presented in the schema. Paths are required to access and change elements in relocatable schemas.

Example:

To get/set parameters in multiple gnome-terminal profiles, one must know and use the hardcoded (as of now) path "/org/gnome/terminal/legacy/profiles:/" along with the schema "org.gnome.Terminal.Legacy.Profile". You either should lookup for the path in dconf editor, or inspect the schema yourself or find this useful Q&A: https://wiki.gnome.org/Apps/Terminal/FAQ#How_can_I_change_a_profile_setting_from_the_command_line.3Fprofile=$(gsettings%20get%20org.gnome.Terminal.ProfilesList%20default)

If the path changes in the future by developers, the scripts that use it will not be able to detect such change automatically and will require manual editing.

Unless I missed some unknown to me design considerations, this should not be difficult and time-consuming to fix. For the example above it could be something like:

gsetting list-paths org.gnome.Terminal.Legacy.Profile

or alternatively:

gsettings get org.gnome.Terminal.ProfilesList list-path
Comment 1 Philip Withnall 2018-02-02 16:10:50 UTC
A potential solution to this is to allow relocatable schemas to specify a path prefix at which instances of the schema are likely to be found. See comment #35 on bug #789969 for details.
Comment 2 GNOME Infrastructure Team 2018-05-24 19:23:15 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/glib/issues/1242.