Configuration

This is a long-term plan for how to handle configuration in ROX.

  • Use the httpfreedesktop.org config system when it's ready.
    This stores settings in a similar way to ROX, but using XDG_CONFIG_DIRS in place of CHOICESPATH (default is
    ~/.config rather than Choices, but you can use anything). D-BUS is used to send notification of changes,
    and to send settings to remote applications.
  • Move options user interfaces out of ROX-Filer and ROX-Session and have them run small Python applications
    when the user chooses Options from the menu. The change notification means that changes to the settings will
    still be instant effect.
  • Move non-session-related options out of ROX-Session's Options box and into a number of separate applications
    (DisplaySettings, MouseSettings, etc). They're only in there at the moment because the XSettings system requires
    a single application to set all XSettings.

Road map:

  1. Make ROX-Session start a D-BUS session on login (done)
  2. Migrate to storing choices using basedir spec (done)
  3. Help with fd.org config system.
  4. Get ROX-Lib to use new config system.
  5. Get ROX-Filer and ROX-Session to use ROX-Lib for options. The filer's options box should also be split (so that you only see pinboard options when opened from the pinboard menu, etc).

Note: Just to be clear on this: the idea is not to centralise the user interface (regedit, etc), but only to rationalise the storage of the options (they already get saved outside the applications). Whenever this comes up, someone suggests having a 'control centre' application where all the options for all applications go. This might be a fun programming exercise, but it's terrible UI, rather akin to moving all the light switches in your house to a single room (neat, but annoying).

So, if you're looking to configure ROX-Filer, you'll still get to the options through the ROX-Filer application directory (the same object you use to run it, read the documentation, etc). Separate configuration applications should be created only where there isn't already an application obviously associated with those options (eg, the default font or screen resolution).

2004-04-13 All the XSettings options have been moved out of ROX-Session and into a new python applications, which communicate with ROX-Session using D-BUS (which ROX-Session now starts on login). Find them in /uri/0install/rox.sourceforge.net/apps/Configure.