4.4. Color Style Manager

With Backdrop Style Manager, this is probably the most important theme tool in (Ns)CDE. This tool applies colors to the widgets, menus, applications and backdrops. As in CDE, it reads color information from the palette files in /usr/local/share/nscde/palettes and $FVWM_USERDIR/palettes. Palettes are the 16bpp color definitions (8 of them). This colors and border bg/fg/sel colors calculated from them are the base of the look of pretty much all of the things on the screen. Colors can be applied in 4 or 8 colors mode. Most notable palettes are Broica in 8-colors mode and Solaris (called Default on SunOS) in 4 colors mode.

Color Style Manager as most tools is written in FvwmScript with background shell helper and color calculation and generator routines. Visually it tries to be as much as possible similar to the original CDE, but since it has some new features, there are some new buttons and commands introduced. Tool has a list of the palettes (system + user), preview button which can temporary apply some palette on the current workspace backdrop and FVWM based applications (FrontPanel, other scripts ...)

As in Backdrop Style Manager there are Add and Delete button actions. System palettes cannot be deleted, while local can be added to $FVWM_USERDIR/palettes and applied immediately.

Button Modify will popup color editor if user selects one of the 8 (or 4) base colors. When selected, this color frames will get "Abc" written in them with automatic foreground choice for that RGB/HSV combination. Frames can be unseleced by simply clicking on them again. When one base color is selected Modify will present editor with controls for Red, Green and Blue values, as well as Hue, Saturation and Value. On the top left corner are preview squares with names "Old" and "New". When changing color with RGB and/or HSV controls, this "New" square button will change it's colorset. Color can also be picked with Grab Color button if a small binary "colorpicker" is functional and properly installed in /usr/local/bin. If action is not Cancel but OK, selected color will be modified and new palette with generic name "Custom" created immediately. When finishing theme selection in Color Style Manager with modified colors, Color Style Manager will ask for a name of the new palette. The suggested default is "Custom" but on the subsequent modification, this is the palette which will be modified and past modifications will be effectively lost. For that reason, it is probably a good idea to save modified palette as new palette with some other name. In that way, it can be temporary changed for some other and turned back again later. This color modification dialog actually serves as palette creator (based on previous palettes) and editor.

There are 8 spaces with colors from the currently selected palette (4 spaces in 4-color mode) and generated XPM file with all 40 colors displayed. Button Number of Colors calls transient window where user can select 4 or 8 color mode. System default on modern desktop is 8.

What is most important new feature in Color Style Manager are integration options. This are:

The last integration is used to integrate what default widget integrations cannot reach. For example Gkrellm skin or some terminal preferences. Qt/Qt5 integration is easy, since this toolkits can use their GTK engine to integrate self with GTK theme. All that Color Style Manager has to do is to define GTK engine in ~/.config/Trolltech.conf and ~/.config/qt5ct/qt5ct.conf for colors from the new palette to be used.

GTK2 and GTK3 are heavy work part. Here, we are using work derived from one CDE theme for XFCE desktop and GTK2 + GTK3, purified and adapted for NsCDE (see Section 21, “Credits”). This is written in python. If turned on, this will produce $HOME/.themes/NsCDE directory with the theme for GTK2 and GTK3, and will edit $HOME/.gtkrc-2.0 and $HOME/.config/gtk-3.0/settings.ini to put or change gtk-theme-name value. If NsCDE palette with dark background 4 color is choosen, Color Style Manager will put gtk-application-prefer-dark-theme into $HOME/.gtkrc-2.0 and $HOME/.config/gtk-3.0/settings.ini. If palette with light color 4 (used for text areas and text fields usually) is choosen, that variable will be removed from the both configuration files. When switching off from NsCDE to some other environment, care must be taken manually to handle gtk-application-prefer-dark-theme in configuration files if last palette in NsCDE was using dark background.

If nscde_use_xsettingsd is set to 1 in the $FVWM_USERDIR/NsCDE.conf after applying new color theme, user's X Settings in $HOME/.xsettingsd will be adjusted and xsettingsd(1) daemon restarted for settings in GTK and Qt applications to be applied immediately. This option can be enabled by editing NsCDE.conf or during initial setup. NsCDE starts xsettingsd daemon with "-c $FVWM_USERDIR/Xsettingsd.conf" parameter. This file must be present if it was not installed by the initial setup procedure.

Key Bindings:

Notice: In the preview mode under FVWM3 non-global monitor layout, only the backdrop of the currently focused monitor is previewed in the colors of the new palette.