XDG-defaults differing views from different desktops (WAS: Re: XDG Menus GNOME vs. KDE)

cobaco (aka Bart Cornelis) cobaco at skolelinux.no
Thu Jun 2 14:24:14 EEST 2005

On Thursday 02 June 2005 11:04, James Richard Tyrer wrote:
> cobaco (aka Bart Cornelis) wrote:
> > On Wednesday 01 June 2005 06:46, James Richard Tyrer wrote:
> > this is actually just one example of a broader problem that we will
> > run into more and more in the future (so solving it at the level of
> > the menus spec is definately not the way to go): - XDG standarizes
> > stuff - KDE, Gnome, XFCE, ... all come with their own view on good
> > defaults  for the standarized stuff - KDE, Gnome, XFCE now
> > potentially conflict as they all put those defaults in the same
> > standard place.
> Could you give us some examples of other conflicts?  I have not found
> any yet.

stress that _yet_:
this will happen with any and all configuration stuff standarized by 
yes that's only the menu at the moment (I think). but more stuff will be 
added over t ime (e.g. the shared keyboard shortcuts being worked on [1], 
will undoubtfully have a global set of defaults for things like save, 
delete, ...)

> > This is a packaging/distro issue however,
> If we leave it to the distros we will have a dozen different solutions
> (some good and some bad) and that is not why we have standards.

which set(s) of configuration to use is ultimately admin decision 
-> it's not something you can standarize (beyond use XDG*_DIRS to set it up, 
it'll default to that, and should be interpreted like this, which we 
already do). 
-> having the different desktops provide their view on good defaults only 
makes sense, but wether to actually use that view as the out-of-the-box 
default situation on a given distro is the distro's choice (I don't think 
there are many distro's that ship with unchanged upstream defaults as it is 

> > there's no reason why the standarized stuff of each desktop's
> > packages should be placed in /etc/xdg,
> Perhaps not, but it *is* the default.
yep, so that's where I'd expect the upstream desktop to place it by default, 
I'd also expect them to have a configure option to change that default, and 
for distro's to use that option when packaging. 
I also fully expect most distro's to then create their own set of defaults 
partly or wholly ignoring the upstream choices, and  I expect that's 
configuration set that will end up in /etc/xdg not the upstream desktop 

If the distro just installs all configuration sets in the same place, then 
IMO that distro is broken (setting up lots of (Free) Software so it'll work 
together coherently is the whole point of having distros no?)

> > it's perfectly possible to install each desktops view on defaults in
> > a sepperate XDG_CONFIG_DIR/XDG_DATA_DIR.
> >
> > That's off course only half the solution, next you need a standard
> > way of managing the contents of the XDG_*_DIR environment variables.
> > For Debian there exists desktop-profiles (See [1]) which does just
> > that, I'm not aware of what (if anything) other distro's have for
> > that.
> I presumed that this would go in the startup script for the DeskTop
> (e.g. "startkde").

putting it in the desktop startup script(s) is bad:
- if you have people using X different desktops, you then need to manage it 
in X different startup scripts
- you might not use a desktop environment (and thus it's startup script), 
but only some apps of each desktop-environment -> the desktop startup 
script wouldn't be run, but you'd still need the environment variables to 
be setup correctly

desktop-profiles puts it in an Xsession.d script (script that get's sourced 
on any X-startup in Debian, not sure if that carries to other distros)

> I never much liked using an "/opt/<package>" directory, but it is
> part of the standard and some distros do use it.

you don't need to change the entire prefix, just which dir to put the 
freedesktop-standarized stuff in (which should be independend from the 
prefix already)

> Or, the existing path could be [for example]:
>      /etc/xdg.<desktop>/menus

okay, but that doesn't really gain you much though (see below)

> and the existing environment variable XDG_CONFIG_DIRS or the DeskTop's
> default could be set accordingly.

definately not: 

the contents of XDG_CONFIG_DIRS is a system-specific-setting not a 
(Actually in larger setups it's more likely to be a group-specific setting, 
i.e. use configuration A if user is a member of group students, use 
configuration B if user is a member of group teachers, ...)

using different XDG_CONFIG_DIRS for the different desktops (on the same 
system), completely defeats the reason for standarizing stuff in the first 

> So, as I said, we could either have a solution that modified the "menus"
> directory, that *would* be a solution just for the menu, or we could
> modify the "xdg" directory and have a general solution.

Well, you'd now be able to install both desktops on the system without using 
configure-options when compiling them, beyond that you haven't gained 
anything though. When installing multiple desktops you (or the distro) 
still needs to set up XDG_CONFIG_DIRS to use the view on defaults provided 
by one of the available desktops by default.

[1] http://www.freedesktop.org/wiki/Standards_2fdefault_2dkeys_2dspec
cobaco (aka Bart Cornelis):
    Coördinator Belgisch Skolelinux team
    Coördinator Nederlandse Skolelinux vertaling
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freedesktop.org/archives/xdg/attachments/20050602/ce7b57fe/attachment.pgp 

More information about the xdg mailing list