2. Components of the NsCDE
Prev |  | Next

## 2. Components of the NsCDE

### 2.1. Components overview

NsCDE uses very extensive bunch of configurations, scripts and apps around FVWM. FVWM is in my opinion very good model of free choice for people who like to have things set up by their own wishes and who are aware what real freedom of choice is. A stunning contrast to policies forced on Linux an Unix users in the last decade from the mainstream desktop players.

NsCDE is not using FVWM default `$HOME/.fvwm` if exists, but sets `$FVWM_USERDIR` to `$HOME/.NsCDE`, and uses `$NSCDE_DATADIR/fvwm` and `$NSCDE_DATADIR/default` as a sources of configuration.

NsCDE configuration consists largely of files parsed by it's own scripts, and FVWM configuration which is grouped in separate thematic files. System FVWM configuration is initialized by `nscde` X startup wrapper which calls `Main.fvwmconf`. This file, as well as the rest of FVWM functions and code (except FvwmScript GUI programs) is located in `$NSCDE_DATADIR/fvwm`.

FVWM configuration sections are:

- Animate.fvwmconf - FvwmAnimate module configuration

- Backdrops.fvwmconf - Backdrops, read by FvwmBacker and FvwmPager

- Backer.fvwmconf - FvwmBacker module configuration

- Colorset.fvwmconf - FVWM Colorset definitions (generated for user in ~/.NsCDE)

- Event.fvwmconf - FvwmEvent module configuration

- FinishInit.fvwmconf - End of startap cleanup and safety last-second routines

- Font-XXXdpi.fvwmconf - Set of fonts ad InfoStore variables used across FVWM

- Form.fvwmconf - obsolete and not used by default, NsCDE does not use FvwmForm

- FrontPanel.fvwmconf - selector of FrontPanel configuration which is going to be read

- FrontPanel.fvwm2.fvwmconf - FrontPanel configuration for FVWM2

- FrontPanel.fvwm3.fvwmconf - FrontPanel configuration for FVWM3

- Functions.fvwmconf - almost all functions used by NsCDE FVWM setup, paired in logical sections

- IconMan.fvwmconf - Not used by default

- Ident.fvwmconf - FvwmIdent module configuration

- Init.fvwmconf - Fallback and example of session statup. Usually run from ~/.NsCDE

- Keybindings.fvwmconf - Static key bindings, without written menu hints

- LocalPager.fvwmconf - Single Workspace floating FvwmPager configuration

- Main.fvwmconf - Most important and early FVWM directives, environment and InfoStore variables, functions

- Menus.fvwmconf - All FVWM Menus used or generated for NsCDE

- Monitors.fvwmconf - Monitor and resolution static database as helper for some calculations

- Mousebindings.fvwmconf - All mouse actions with and without keyboard modifiers

- Sandbox.fvwmconf - not read by default, cleanup definitions for stripped down NsCDE sandbox mode

- Script.fvwmconf - FvwmScript module defaults

- Style.fvwmconf - All NsCDE FVWM Style directives, Menustyle, Cursorstyle, Decor addons etc

- Subpanels.fvwmconf - Default system configuration for subpanels of the FrontPanel, generated.

- WspLocPager.fvwmconf - Configuration of another local pager which uses FvwmPager, but for non-local workspaces

- NsCDE.conf - de-facto main user configuration file. All important variables are here.

It should be noted that FVWM configuration system is created in a very flexible manner. While there are only files of type "fvwmconf" in `$NSCDE_DATADIR/fvwm`, user's `$FVWM_USERDIR` or "~/.NsCDE" can contain this 3 types of FVWM configuration:

- Files with extension ".fvwmconf" are overriding defaults from the `$NSCDE_DATADIR/fvwm`. In other words, if `$NSCDE_USERDIR/Init.fvwmconf` exists, it will be read instead of `$NSCDE_DATADIR/fvwm/Init.fvwmconf`. For some parts of the FVWM configuration this makes a sense, for most it doesn't.

- Files with extension ".fvwmgen" are files which are generated by NsCDE tools and GUI programs. They can be managed by hand, but usage of tools will overwrite them. They counterparts in the `$NSCDE_DATADIR/fvwm` have extension ".fvwmconf", but if for example `$NSCDE_USERDIR/Colorset.fvwmgen` exits, it will be read instead of `$NSCDE_DATADIR/fvwm/Colorset.fvwmconf`. Putting static `$NSCDE_USERDIR/Colorset.fvwmconf` will be unusual, and will disable GUI tools and FVWM under NsCDE to read dynamically generated configurations.

- Third form of FVWM configuration in `$NSCDE_USERDIR` are ".fvwmlocal" files. This files will extend (append) configuration read from their ".fvwmconf" and/or ".fvwmgen" files. Good examples whould be Functions.fvwmlocal and Styles.fvwmlocal in `$NSCDE_USERDIR` to add local custom functions and per-application styles.

One notable exception to this system of configuration is the way FVWM Styles are read. In addition to reading `$FVWM_USERDIR/Style.fvwmlocal` "early" configuration in `$FVWM_USERDIR/NsCDE-Style.override` will be read from `$NSCDE_DATADIR/fvwm/Style.fvwmconf` just after applying general core style for all applications (*) but before reading custom application styles and prior to reading `$FVWM_USERDIR/Style.fvwmlocal`. This mechanism is intended for changing and overriding core style options which are not customizable by the Window Style Manager. Putting core Style options after NsCDE applications in the `$NSCDE_DATADIR/fvwm/Style.fvwmconf` are processed can nullify overrides for that particular applications, this is why this mechanism is provided. This file is not created in `$FVWM_USERDIR` by setup procedure or Style Managers, but it will be read if created manually.

In addition to FVWM configuration read by fvwm window manager and it's modules, there are some files parsed by NsCDE scripts and programs in `$NSCDE_DATADIR/defaults`.

This files are:

- AppMenus.conf - default per application addons for Window Operations menu on the 1st titlebar button

- FrontPanel.actions - read by FVWM functions called when FrontPanel controls and buttons are used

- Keymenu-<kbd_bind_set>.actions - Part of the FVWM NsCDE keybindings which have menu hints written on menus

- Subpanels.actions - From this file, Subpanels.fvwmconf is generated.

- WSM.conf - Workspace Manager and Graphical Workspace Manager configuration file

All files above except `WSM.conf` if found in `$NSCDE_USERDIR` are read in addition to system defaults in `$NSCDE_DATADIR/defaults`. Local lines and statemets in user's copy are overriding system defaults. WSM.conf is read exclusively from `$NSCDE_USERDIR`. System file is only an example.

The rest of configuration is in `$NSCDE_USERDIR`. For example Dunst.conf, Stylonetray.conf, Xsettingsd.conf, Picom.conf, NsCDE.rasi (rofi), Xset.conf and Xdefaults. This files are either read by their programs which are called and configured/integrated by NsCDE, or by X server (Xset.conf, Xdefaults*). Various subdirectories contains additional data generated for the user or configured by the user. This parts of the configuration are described in more detail later in this document.

Prev |  | Next
Not so Common Desktop Environment (NsCDE) Manual | Home | 2.2. Applets and GUI Tools