xfconf gdbus port (GValue vs GVariant)

Matthew Brush mbrush at codebrainz.ca
Thu Mar 24 15:41:11 CET 2016

On 2016-03-24 02:36 AM, Ali Abdallah wrote:
> Hello guys,
> As you may already know, I'm porting xfconf to gdbus for 4.14. I just
> wanted to share with you some thoughts. Currently libxfconf relies on
> GValue (an insane decision of dbus-glib bindings...). Obviously it makes
> more sense to rewrite the internal working of xfconf to rely on GVariant
> instead, but this implies API changes/deprecations of some symbols. For
> this I see two options.
> 1) Keep relying on GValue and convert it to a GVariant each time to send
> it over the bus-->no API changes.
> 2) Rewrite the internal working of libxfconf and rely on GVariant -->
> API changes:
> /xfconf_channel_set_property/ takes GValue
>     signal /property-changed/ sends GValue.
> Option 2.1
> Deprecate /xfconf_channel_set_property /and provide
> /xfconf_channel_set_variant/
> Deprecate /property-changed/ signal and provide a new signal "changed"
> which sends a GVariant.
> While I vote for 2.1, I'm okay with any of the above solutions.

Another more "lightweight" option would be to port applications to use 
GSettings which is already part of GLib/GIO. This way there would be no 
need to have a redundant library, or daemon running.

Matthew Brush

More information about the Xfce4-dev mailing list