Proposal: File locations

Jasper Huijsmans jasper at moongroup.com
Fri Jan 3 14:47:59 CET 2003


Hello everybody. Happy new year to you all! 

I thought it might be good to get a bit of consensus on where certain
files should go. Specifically things like plugins, themes and config
files.

I propose to use the xfce4 subdir as much as possible. Modules may use
their own subdir below that. I don't really have a strong opinion on
this, but I think we should try to be consistent one way or another. 

Below I give the general layout. Where I say 'or' I mean we should
choose one, but I don't know which is better. Some locations have both a
'system' location and a 'user' location. 

config files:
~~~~~~~~~~~~~
  ${sysconfdir}/xfce4/

  ~/.xfce4/

header files:
~~~~~~~~~~~~~
  ${includedir}/xfce4/

data files:
~~~~~~~~~~~
  ${datadir}/xfce4/
or 
  ${datadir}/<modulename>/

themes:
~~~~~~~
  ${datadir}/xfce4/themes/<modulename>/
or
  ${datadir}/<modulename>/themes/
or even
  ${datadir}/themes/<modulename>/

  ~/.xfce4/themes/<modulename>/
or
  ~/.themes/<modulename>/

plugin dir:
~~~~~~~~~~~
  ${libdir}/xfce4/<modulename>/

  ~/.xfce4/plugins/<modulename>/
or
  ~/.plugins/<modulename>/
or 
  ~/.plugins/xfce4/<modulename>/



General rule for subdirs: if more than one file for a module will be
present the module may use a subdir.

The above covers all modules except perhaps the settings manager. For
that I propose to use a settings/ subdir:

configuration: 
  ${sysconfdir}/xfce4/settings/
  ~/.xfce4/setttings/

plugins: 
  ${libdir}/xfce4/settings/

  ~/.plugins/xfce4/settings/
or
  ~/.xfce4/plugins/settings/


For the panel <modulename> could be either 'panel' (to prevent awkward
.../xfce4/xfce4/... locations) or 'xfce4'.

What do you think? I'm prepared to make all required changes to the
modules to make this work (shouldn't be too much trouble anyway).

greetings,
	Jasper

PS
I also think we should use certain environmental variables consistently,
like XFCE_DISABLE_USER_CONFIG and TERMCMD. We could possibly even make a
settings manager plugin, setting default programs: terminal, browser,
screensaver, ...


-- 
IRC channel: #xfce on irc.openprojects.net



More information about the Xfce4-dev mailing list