XSETTINGS unfit as configuration mechanism?

Thomas Leonard tal00r at ecs.soton.ac.uk
Sat Jun 1 14:19:06 CEST 2002


On Fri, May 31, 2002 at 10:20:09PM +0200, Jasper Huijsmans wrote:
> On Fri, 31 May 2002 15:55:38 +0100
> Thomas Leonard <tal00r at ecs.soton.ac.uk> wrote:

> > Well, I'd hate to argue with that, but... ;-)
> 
> Please argue :-), we need more arguments!

Well in that case...

> > Basically, XSettings only works when you have a very small number of
> > settings that everyone agrees on (like double-click time and default
> > font). "XFCE clock background colour" would be a really bad XSetting,
> > for example.
> 
> I'd have to agree with that.
> 
> > Plus, having per-application settings in a central location is just
> > horrible, IMHO ;-)
> 
> Well, maybe it is, but having one central place to acess them is pretty
> well accepted and something that is expected of a desktop environment.

I'm not sure quite how much you imagine being in this central
configuration place. gnomecc, for example, has two types of settings:

- Settings that affect multiple programs (theme, document handlers, look
  and feel, and multimedia). ie, not per-application things.

- Settings for programs or things that aren't normal applications
  (background image, screensaver, window manager, keyboard, mouse and
  session manager).

There are no settings for normal applications here (eg, nothing to
configure gnumeric or nautilus).

For ROX, I'm planning to create simple applications to represent
'invisible' programs, (eg 'Firewall', 'Keyboard', etc) which are used just
to configure things. These apps can all be placing in a 'Control Centre'
directory to get the traditional look-and-feel :-)

A central place seems mainly useful for anything which the user might have
trouble finding the configuration for. The window manager is a bit of a
corner case, but I think I'd prefer to access the config via the popup
menu on the window frame, since you can get to it from any desktop.
Sawfish's configuration is available from both gnomecc and the root menu.

Also, you tend to have the application you want to configure already to
hand, so loading up a control app and then having to select the app you
were already in from a list seems rather pointless ;-)

> I was thinking about saving the settings with the apllications, letting
> the application set the initial value when they start and have a
> separate program change them and inform the apps through some mechanism.

There's also the issue of programs running on different machines sharing
config, but it's never seemed to be much of a problem in practice.

> Also, the appearance of xfce is for a large part determined by gtk, so
> we have to use xsettings if we want to do something with that (we do
> now).
> 
> And then there is this idea of using separate programs for everything.
> However, we also want to give the impression of an integrated
> environment.

Presumably all applications would use the same library code to give the
same look-and-feel...

> Maybe we should first start with a list of settings? 
> 
> Ok, here's another idea: have a style manager app that just calls the
> programs with a --configure argument. The apps can decide for themselves
> if they want to start a new process or use an existing one.

I considered that for ROX, too. The idea was to use the AppMenu to put a
'Configure' entry at the top of the app's menu in the filer. In the end,
though, it's always been easier to put the menu inside the application
(but, we haven't got many apps yet...).

> The gtk settings issue is a bit separate in this case. We really need to
> use xsettings for that.

Yep, shared settings are different. But even things like 'Gtk font' can
cause trouble (eg, running a Gtk app under KDE if KDE's control centre
doesn't have the option).


-- 
Thomas Leonard			http://rox.sourceforge.net
tal00r at ecs.soton.ac.uk		tal197 at users.sourceforge.net



More information about the Xfce4-dev mailing list