4.2. Subpanels

Figure 17. Front Panel with opened Subpanels

Front Panel with opened Subpanels


NsCDE subpanels are simple transient FvwmButtons based docks. As the Front Panel itself, they are also as much as possible similar to original CDE forms of the same purpose. Some applications in them are predefined, and discovered if installed, and the rest is up to user to populate. Their purpose is not to show all possible GUI applications installed on the system as right-clicked Workspace Menu does. They are meant for favorite, important and often used programs.

There is one big difference between CDE and NsCDE subpanels: Install Icon is not (and cannot be due to FvwmButtons not implementing) drag-and-drop destionation. Click action on Install Icon calls special NsCDE tool Subpanels Manager for installing, that is, defining items on the subpanel. There is no drag and drop off items from the applicaton manager (the later also doesn't exist, but it can be used as menu://applications/ pseudo path in some file managers).

On every subpanel, last selected entry will remain hilighted next time subpanel is popped up again.

Each Subpanel's application item or entry has additional third mouse pointer button action which will pop up dinamically populated contextual menu named after item's title. Here, the following actions are available:

Figure 18. Front Panel Item Context Menu

Front Panel Item Context Menu


If move or delete action is silently not performed, this is most likely the situation where user's $FVWM_USERDIR/Subpanels.actions is newer than $FVWM_USERDIR/Subpanels.fvwmX.fvwmconf, and must be rebuilt for configuration actions to take a place properly. In that case, repeated operation must succeed, otherwise, see X session error log for details.

Subpanels, like in CDE has titlebars but as windows on screen they are without borders and handles. They have only left menu button like other windows, but with one exception: there are no actions for closing window and re-positioning it (no sense in this), but they have "Refresh Subpanel" and "Subpanel Settings" controls. First one kills process module, re-reads it's configuration and starts it on the next click on Front Panel subpanel launcher. Subpanel Settings is the small and simple FvwmScript tool which allows one to rename Subpanel, set it's width for application item titles to fit if necessary, and to enable or disable that particular Subpanel.

On the first change with Install Icon or Subpanel Settings, non-FVWM configuration file Subpanels.actions will be created in the $FVWM_USERDIR, from there, all subpanels changed from default will be read by the $NSCDE_TOOLSDIR/generate_subpanels, while the rest will be generated and combined/mixed from the $NSCDE_DATADIR/defaults/Subpanels.actions. This file can also be edited by hand (ok, not by hand, but editor will suffice) and the result may be applied by calling generate_subpanels and then f_ReadCfg Subpanels. Generated files will be called Subpanels.fvwm2.fvwmconf and Subpanels.fvwm3.fvwmconf with the same content, but a slightly different syntax, one of this files will be read as subpanels configuration depending under which version of FVWM NsCDE is running. This files are expected to appear in the $FVWM_USERDIR. If not found there, $NSCDE_ROOT/config/Subpanels.fvwmX.fvwmconf will be read instead. Syntax of the Subpanels.actions is explained in the Configuration files explained section.

Presently, there is one workaround here under FVWM2: as much as FVWM, and specially FvwmButtons are very flexible and configurable, no title for the buttons app can be set apart from module alias, but module alias doesn't support names with spaces in them. Internal names as "NsCDE-SubpanelX" are for that reason referenced in FrontPanel.fvwmX.fvwmconf, and are internally mandatory names of their Subpanels. Because there is no configuration option in FVWM2 for subpanel to set Window Title, we are using tool xdotool(1) which is run on Subpanel initialization with a delay of 3,2 seconds (internal workaround for xdotool) and this then takes infostore variable NsCDE-SubpanelX-Name and sets literal, system default or user picked name of the subpanel. Presently, an alternative option is to apply FvwmButtons patch present in the patches subdirectory of NsCDE tarball which introduces a WindowName option for FVWM2 to it's configuration, or even better, to use new FVWM3 which has this and many other handy options and capabilities already in place.

The rest about Subpanel, or to say their visible outfit, and their main function are the same as in CDE - a nice, heavyweight and elegant application launchers.