xfconf VS libxfce4util Resource Config Files for configuration

Steve Dodier-Lazaro sidnioulz at gmail.com
Sun May 1 17:58:08 CEST 2016

Xfce4util uses the GLib, which is maybe not 90% of the codebase but
definitely 90% of the complexity of Libxfconf's dependencies. Bugs in XML
parsers are easy to test for / detect. Recursive GObject dependencies and
GType init race conditions are an absolute pain in the *** to detect,
reproduce, debug and fix. I threw away months worth of code on Unity
because their software is too crippled for me to efficiently debug whatever
atrocities they are doing to GType / GObject.

So if you want simpler, KISS-er libraries I propose we throw the baby with
the bath water and reimplement Xfce in C++. Then we can get rid of GObject.
Otherwise since we're already in on it and already suffer all the
programming style inconvenients, alleged bloatedness and memory usage of
GTK+ / GIO / GLib, we might as well use it in full to delegate most of the
API testing to the GNOME folks (who unlike us are sponsored by a
multi-million dollar company full of good software engineers), and just
write as little code as we need. Xfconf is in my opinion better in design
than GSettings because it integrates better with user tools and demands,
but XfceRC should really be a thing of the past. We already have GKeyFile
(already integrated with GDesktopAppInfo) and Xfconf. When I have to modify
Xfce apps for my downstream projects, having to deal with XfceRc / GKeyFile
conversions between different bits (Exo, Xfce4Util, Xfce4UI, Garcon) is
plain annoying.

Anyway, just my personal opinion :-)

On 30 Apr 2016 14:24, "OmegaPhil" <OmegaPhil at startmail.com> wrote:

> I understand if you don't want to discuss this, but continuing:
> Can't you implement a hierarchy by using structure in INI section
> titles/groups, e.g. 'Default/DVI-0', also can be used in the settings
> names themselves?
> I get the feeling its not so much 'needs' but programmer 'wants', to
> make things convenient to program etc, without paying attention to the
> cost of its actual implementation ('oh look this random library/system
> has already been created that has all sorts of bells and whistles, just
> use that!'). Simplicity is supposed to be extremely important for
> resource usage, debugging, control, etc.
> GSettings uses XML and compiled schemas (!!!), and looks to be another
> programming frontend to god knows what (I'm seeing 'backend' and dbus
> mentioned in places), so definitely fails KISS.
> On 30/04/16 12:47, flo.xfce at gmx-topmail.de wrote:
> > The big advantage of xfconf is hierarchical storage. Just have a look at
> > xfce4-settings-editor - how would you transform the display channel or
> > xfce4-panel channel settings into an rc file? (Nevertheless an rc file
> > can also be a valid choice, especially for plugns, which usually have
> > only a few settings).
> > The point here is: Different applications have different needs when it
> > comes to settings storage. You can either use a big complex backend
> > which tries to address all those needs or multiple lightweight backends.
> > Have you looked at GSettings? Maybe its more to your liking.
> >
> > Kind regards
> >
> > On 04/30/16 12:56, OmegaPhil wrote:
> >> I'm the maintainer of the XFCE4 Hardware Monitor Plugin [0], and I'm
> >> currently reviewing how I maintain configuration for the plugin.
> >>
> >> At the moment I use libxfce4util's rc file functionality, but I don't
> >> like the separation between reading and writing when you open an rc file
> >> (reading something and potentially writing a change based off that is a
> >> normal thing).
> >>
> >> xfconf appears to offer a more regular read/write approach (haven't
> >> tried it yet), but looking into its implementation, immediately fails on
> >> KISS (Keep It Simple Stupid) - hugely bloated - XML, DBus, GObject,
> >> probably other stuff I'm not aware of. The task is just to store and
> >> retrieve a few bits of data into a simple text file, which is the UNIX
> way.
> >>
> >> I'm aware of xfconf's ability to store more complicated data and a
> >> hierarchy of data, but I don't need this. There is also the catch that
> >> XFCE4 has already paid the price for the bloat, however that doesn't
> >> dictate whether I should support it or not ('ethics').
> >>
> >> Does anyone here have serious usage of xfconf, and can bring up good
> >> reasons for using it over a normal configuration file?
> >>
> >> Thanks
> >>
> >>
> >>
> >> 0:
> >>
> http://goodies.xfce.org/projects/panel-plugins/xfce4-hardware-monitor-plugin
> >>
> >>
> >>
> >> _______________________________________________
> >> Xfce4-dev mailing list
> >> Xfce4-dev at xfce.org
> >> https://mail.xfce.org/mailman/listinfo/xfce4-dev
> >>
> > _______________________________________________
> > Xfce4-dev mailing list
> > Xfce4-dev at xfce.org
> > https://mail.xfce.org/mailman/listinfo/xfce4-dev
> >
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
> https://mail.xfce.org/mailman/listinfo/xfce4-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.xfce.org/pipermail/xfce4-dev/attachments/20160501/d7d00a2d/attachment.html>

More information about the Xfce4-dev mailing list