10. System and User NsCDE Tree Layout

This section describes in detail what is stored where in NsCDE system-wide installation hierarchy, and user's home directory .NsCDE or $FVWM_USERDIR.

10.1. System Tree Layout

From the major version 2, NsCDE is following Filesystem Hierarchy Standard of Linux and other surviving Unix and BSD systems. The installation procedure will put main calling wrapper nscde and nscde_fvwmclnt into PREFIX/bin, NsCDE helper programs and tools into PREFIX/libexec/NsCDE, python api code and FvwmScript scripts, fpclock and colorpicker binaries into PREFIX/lib/NsCDE, while rest of the data goes into PREFIX/share/NsCDE, except icon theme, .desktop files, which are following XDG specification and are installed in /usr/share/icons/NsCDE, /usr/share/applications, and so on. NsCDE app menu will be positioned in PREFIX/etc/xdg/menus (or /etc/xdg/menus if installed from package), while X session file read by the graphical display manager usually goes into /usr/share/xsessions, regardless of the PREFIX, or /usr/local/share/xsessions on BSD-based systems.

Variable meanings for further paths:

  • $NSCDE_ROOT

    Main top directory of NsCDE installation; usually /usr, /usr/local, /opt/local, /opt/sfw, /usr/pkg etc ... most parts of the installation are under this hierarcy referenced also as "$PREFIX" in documentation

  • $NSCDE_DATADIR

    This points to $PREFIX/share/NsCDE

  • $NSCDE_TOOLSDIR

    This is sometimes $PREFIX/libexec/NsCDE and some systems, which doesn't like libexec will put this as $PREFIX/lib/NsCDE, $PREFIX/lib64/NsCDE and so on

  • $NSCDE_LIBDIR

    This is usually $PREFIX/lib/NsCDE with variations as $PREFIX/lib64/NsCDE, $PREFIX/lib/x86_64-linux-gnu/NsCDE and so on.

This are the main directory components of the NsCDE with description what is what, and what is where:

  • bin

    nscde start wrapper called from /usr/share/xsessions/nscde.desktop nscde_fvwmclnt caller of the right (FVWM2 or FVWM3) FvwmCommand.

  • $NSCDE_DATADIR/fvwm

    NsCDE private FVWM settings directory. All .fvwmconf files described in documentation are here. They are read from Main.fvwmconf which is called from PREFIX/bin/nscde by fvwm binary with -f directly.

  • $NSCDE_DATADIR/config_templates/progbits

    Template X pixmap files used by Color Style Manager for producing user's copy in the $FVWM_USERDIR/icons/NsCDE/ this pixmaps are invalid as pictures in their source form since they contain internal macros for replacement with real colors. System starting theme is using their copied in $NSCDE_DATADIR/icons/NsCDE.

  • $NSCDE_LIBDIR/python

    Python libraries used by themegen: part of the integration suite for GTK and Qt theme.

  • $NSCDE_TOOLSDIR

    The rest of the scripts (korn shell and python) are located here. In normal circumstances this scripts should not be run directly, but they are used by numerous NsCDE FvwmScript apps and FVWM functions as helpers and background program workers.

  • $NSCDE_DATADIR/backdrops

    Backdrop files. CDE and new, additional. Source for generation of active user's backdrop depending on theme, that is color scheme. They have .pm extension instead of .xpm. Bitmap files .bm (.xbm) are not supported by style managers and hence some of CDE's original backdrops of that type are in NsCDE converted to X pixmaps.

  • $NSCDE_DATADIR/icons/cursors

    Custom cursors which are missing on plain X server installations but can be found in CDE. Referenced in $NSCDE_DATADIR/fvwm/Style.fvwmconf.

  • $NSCDE_DATADIR/defaults/backer

    Default generated backdrops for first start (Broica, 8 colors) Referenced in system's $NSCDE_DATADIR/fvwm/Backdrops.fvwmconf.

  • $NSCDE_DATADIR/defaults/pages

    Default page names for every possible combination supported by NsCDE

  • $PREFIX/share/doc/nscde

    Documentation

  • $PREFIX/share/doc/nscde/examples

    Examples for X display manager and DE integrations, sudo for shutdown reboot, pm-suspend or pm-hibernate, Gkrellm NsCDE skin.

  • $NSCDE_DATADIR/fontsets

    Default font sets used by the Font Style Manager

  • $NSCDE_DATADIR/icons/NsCDE

    CDE and custom NsCDE icons of which many are part of FvwmScript programs and applets

  • $NSCDE_DATADIR/palettes

    CDE palettes plus a bunch of new custom palettes. Used by Color Style Manager and Backdrop Style Manager, as well as $NSCDE_TOOLSDIR/themegen, $NSCDE_TOOLSDIR/backdropmgr, $NSCDE_TOOLSDIR/colormgr, $NSCDE_TOOLSDIR/palette_colorgen

  • $NSCDE_DATADIR/photos

    A couple of nice free photos collected and resized for various screen resolutions. Can be used instead of backdrops (selectable from Backdrop Style Manager) or in $HOME/.xscreensaver for some screensavers which are loading photos.

  • $NSCDE_DATADIR/config_templates/app-defaults

    X resources for a particular X applications (like XTerm) which are processed by the Color Style Manager for user to be put into $FVWM_USERDIR/app-defaults (if enabled). Referenced by the usual XAPPLRESDIR environment variable.

  • $NSCDE_DATADIR/integration/gtk2_gtk3_qt

    Part of the CDE theme which are used by $NSCDE_TOOLSDIR/themegen and the rest of $NSCDE_LIBDIRY/python/*.py to generate $HOME/.themes/NsCDE with a selected palette and color depth.

    $NSCDE_DATADIR/config_templates also contains Xdefaults and some include files for it, as well as configuration for stalonetray which is installed on initial setup, and BGdefault, which is a monochrome pixmap loaded as bare default early on start, before FvwmBacker(1) sets up backdrops on each user's workspace. From there, on initial setup, default Xsettingsd.conf, Stalonetray.conf, Dunst.conf, colormgr.local and possibly other files are installed into user's $FVWM_USERDIR.

  • $NSCDE_DATADIR/integration/firefox

    Mozilla Firefox CSS which integrates Firefox Web Browser with the current NsCDE theme.

  • $NSCDE_DATADIR/integration/thunderbird

    Mozilla Thunderbird CSS which integrates Thunderbird Mail Reader with the current NsCDE theme.

  • $NSCDE_DATADIR/integration/rofi

    Template theme for rofi(1) window switcher, launcher, ssh dialog and dmenu replacement