4. Applets Docks and Panels

4.1. Front Panel

Front Panel is the control area of the NsCDE desktop. It provides point-and-click access to the number of often used applications on the system. Front Panel hosts Workspace Manager and it displays information such as time and date, system load, and so on. Front Panel can be customized to include custom favorite applications. Front Panel can be moved or iconified, it's position changed, as well as number of buttons, Workspace Manager position, subpanels etc ...

Figure 13. Front Panel

Front Panel

In NsCDE, CDE Front Panel is re-implemented with the help of FvwmButtons(1) Configuration is stored under alias *FrontPanel in FrontPanel.fvwm2.fvwmconf and FrontPanel.fvwm3.fvwmconf, read and activated from the Main.fvwmconf. Visually, this remake of Front Panel matches almost in a pixel CDE Front Panel. The main differences are:

  • Since FvwmButtons doesn't implement drag and drop protocol, there is no possibility to install icons by dragging them from file manager or from one to another position. However, icons (with their applications) on the Front Panel can be customized by clicking any item on the subpanel above it with the right mouse button. Dinamic contextual menu with the name of the application will appear and action Copy to Main Panel can be choosen. This will edit file FrontPanel.actions in user's $FVWM_USERDIR and put appropriate custom launcher. Another possibility is to use Front Panel Icon Manager: Change This Button can be choosen from the contextual menu with third mouse button: from here, a new icon and action can be choosen. All Front Panel launchers can be customized, including the ones with applets (clock, calendar, mail) instead of static icons. File FrontPanel.actions can also be edited manually as an alternative (caution should be taken) to achieve the same effect. Manual editing is mandatory when one wants to install new applets instead of static icons, because this cannot be done with gui menu actions. See FrontPanel.actions for examples. The other way (full control) is by copying FrontPanel.actions configuration file from $NSCDE_DATADIR/fvwm to $FVWM_USERDIR, but this is not recommended because any fixes or additions in the system FrontPanel.actions will not be seen by the user.

  • In the original CDE, Front Panel is part of the dtwm Window Manager binary, while in NsCDE it is configuration of FvwmButtons(1) FVWM module. Workspace Manager in the middle of the Front Panel is a separate applet written in FvwmScript(1).

  • On every icon, for the first two mouse buttons different action can be assigned. This is used for example 7th icon where mouse button 1 calls Style Manager, while hidden action on mouse button 2 calls Backdrop Style Manager directly as a quick shortcut. Second (middle) mouse button action can be considered as hidden hack for advanced usage.

  • Mouse button 3 on any of the default 10 Front Panel icons brings contextual pop-up menu titled by the main action from mouse button 1. Action on this menu are:

    1. Call main application by name as if icon has been clicked with the 1st mouse button.

    2. Reset This Button which will remove user's customizations for that launcher button from the $FVWM_USERDIR/FrontPanel.actions and load default from the $NSCDE_DATADIR/defaults/FrontPanel.actions.

    3. Move Button Left, Move Buttom At The Beginning, Move Button Right, Move Button To The End options will move current button (and it's subpanel if enabled) one place to the right or left. Leftmost button, if moved left will end up on the end of the Front Panel, wile rightmost button, if moved to the right will end up at the beginning of the Front Panel.

    4. Reset Subpanel will reset upper subpanel to it's default value (remove definition of the numbered subpanel from the $FVWM_USERDIR/Subpanels.actions),

    5. Delete Subpanel will disable subpanel for above this icon (without resetting user's configuration for it), and

    6. Help will try to find matching man page for a button's command or appropriate part of NsCDE documentation if the entry is the NsCDE component. Failing this, it will display this document. Documentation is displayed as HTML in the default documentation browser.

    Figure 14. Front Panel Launcher Context Menu

    Front Panel Launcher Context Menu


  • In addition to iconification, Front Panel can be shaded to the bottom edge of the screen with Shift+Backspace action, and put back in it's place with the same key binding when it is called again. Shade direction of the Front Panel is the opposite one from ordinary windows - they are rolled from the bottom up.

  • Iconification is by default to bottom right screen edge, leaving last 96px space to the right for Stalonetray the while all other programs are by default iconified in the top left edge as in CDE.

  • NsCDE Front Panel is flexible. It can be overlapped with programs, moves away (lower) for fully maximized windows and while pretty much thick, it is not in the user's way on the screen.

  • Front Panel has it's own menu on the top left button and special context menu if this button is clicked with right mouse button. Middle mouse button behaves as if title bar of a any normal window is clicked - with special diagnostic tool menu. Right-clicked special menu has this important tasks:

    • Calls Workspace and Page Manager Manager

    • Restart WorkSpace Manager

    • Restart Page Manager

    • Number of Launchers ... (submenu)

    • Restart Panel Clock (pclock)

    • Restart Panel Mail Applet

    • Restart Panel Date (MonthDayApplet)

    • Restart Panel Lite (FpLite)

    • Restart the (whole) Front Panel

    • Help

    Figure 15. Front Panel Menu and Front Panel Controls Menu

    Front Panel Menu and Front Panel Controls Menu


    This menu can also be called from the customized Window Options Menu which appears if menu button is clicked with the left mouse button. Item Front Panel Controls will replace Window Options Menu with Front Panel Controls Menu.

  • As FvwmButtons based dock, by default it swallows the following applets:

  • Third icon expects $[infostore.filemgr] to be defined or discovered and automatically filled if not defined.

  • Fourth icon will call $[infostore.terminal] which must be defined or it is discovered.

  • Sixth icon tries to discover system print manager. Currently, only system-config-printer and $[infostore.browser] http://localhost:631 are discovered, but this can be set manually by putting InfoStore variable $[infostore.printmgr] in ~/.NsCDE/NsCDE.conf. Good place for personal custom icon and redefinition if printing really doesn't that much to the user.

  • Seventh: NsCDE Style Manager from which all other Style Managers can be called.

  • If some of the file managers which is capable to present menu://applications/ namespace, eighth Front Panel button will act as a sort of Application Manager and call $[infostore.appmgr]. Currently, only pcmanfm and pcmanfm-qt are known to support this namespace. Note however that you cannot drag and drop applications into Front Panel or it's subpanels, because FvwmButtons(1) does not implement drag-and-drop protocol. A stand alone drag and drop receiver is planned for the future, which will be capable to execute arbitrary action when DnD message is received, and this will be implemented then.

    If niether of this file managers is not installed, icon on this launcher will appear as editor icon and $[infostore.xeditor] - if defined in $FVWM_USERDIR/NsCDE.conf. will be launched when clicked with the first mouse button. If $[infostore.xeditor] is not defined, NsCDE will try to find some usable app from it's static fallback catalog and autofill this value on startup.

  • Semi-empty. By default, it only popups 9th subpanel if pressed. A nice idea is to call pavucontrol or some audio mixer on 3rd mouse click from FrontPanel.actions.

  • Help, documentation.

  • Front Panel Subpanels 2, 5, 6 and 8 are empty by default, but they can be activated with a triple middle pointer click on an empty place, or with a contextual menu on the icon below it on the Front Panel, and selecting a menu item "Add Subpanel". In a former case, dialog will ask user if he wants subpanel to be enabled, while in later case, subpanel will be enabled immediately. This is specially useful for subpanel 5 which will show $[infostore.mailreader] if it is defined or autodiscovered.

    • Subpanel 1: Communications

    • Subpanel 3: Office Tools - Components and various office/productivity tools (PS/PDF reades etc ...)

    • Subpanel 4: Tools

    • Subpanel 7: Desktop Settings - NsCDE Style Manager and various Qt, Gtk and misc desktop management applications

    • Subpanel 9: Graphics and Multimedia - photo, drawing, audio and video programs ...

    • Subpanel 10: Help - Documentation

  • In the center of the Front Panel there is a place without subpanel launchers and separated by vertical line. Inside this area, there are 4 small command icons: Left: Lock Screen (xscreensaver -activate), Page Manager Menu, Right are Front Panel Lite (system load indicator), and Exit button (SysActionDialog).

    Lock Screen icon (upper left) has a contextual menu invoked by the 3rd mouse button click, which allows user to suspend and resume background activity of the xscreensaver(1) in addition to the locking mechanism. Help menu entry is also present. Mouse button 2 brings Xscreensaver preferences dialog as if it was called from the Style Manager.

    Page Manager Menu icon has a contextual menu invoked by the 3rd mouse button click. In addition to returning back to main menu, it can call visual local FVWM pager LocalPager. Help menu entry is present too. Mouse button 2 brings Workspaces and Pages Style Manager configuration.

    Front Panel Lite (upper right) has a small contextual menu which calls main action and help.

    Exit button (lower right) has a small contextual menu which calls main action and help.

    In the middle of this area there is WSM - Work Space Manager with well known buttons for navigating NsCDE workspaces. By default, four workspaces are shown and configured, but this can be changed (see Section 4.3, “Workspace Manager”).

4.1.1. Customizing number of Front Panel launchers

NsCDE Front Panel can be customized to contain from zero to 20 Front Panel buttons or launchers. Default is 10 (5 launchers left and 5 launchers right from the Workspace Manager). There can be even or unequal number of launchers on any side of the Front Panel. Limit is 10 launchers per one side (Workspace Manager is the middle) of the Front Panel. That way, it is possible to:

  • Extend number of launchers (buttons)

  • Move Workspace Manager to left or right

  • Reduce number of launchers

  • Extend or reduce number of subpanels on active launchers

  • All extended (more than 5 on each side) launchers can be customized with icons, subpanels and swallowed applets.

This is very flexible scheme, and can scale from minimal two-workspaces configuration without any launcher (just left and right handlers, and Workspace Manager with Lock, FpLite, Exit and Page Manager in the middle), up to configuration with 20 launchers freely arranged left and right with up to eight workspaces. For this last one, Full HD resolution, or at least 1680x1050 is needed.

To change number of launchers left or right of the Workspace Manager, leftmost menu button of the Front Panel must be selected, which will bring Window Options Menu, then Front Panel Controls can be selected to replace Window Options Menu. Front Panel Controls can be directly called by clicking this same button with third (right) mouse button. Next, Number of Launchers ... submenu must be opened.

Actions are:

  • Add Left Launcher

  • Add Right Launcher

  • Remove Left Launcher

  • Remove Right Launcher

  • Help

Figure 16. New Front Panel Launcher and it's new icon with action

New Front Panel Launcher and it's new icon with action


Once a new launcher is on the Front Panel, it can be customized in the following ways:

  1. Clicking on a gray empty icon handler. The Front Panel Icon Manager will appear. Here, new action (program) with it's icon or custom icon can be choosen.

  2. Temporary or permanently enabling subpanel, installing icons on it with Subpanel Manager, then using Copy to Main Panel function from the contextual menu popped up with third mouse button on the new item on subpanel. Icon will be installed in the Front Panel. One can leave subpanel enabled, or disable it back.

  3. By manual editing of the configuration in $FVWM_USERDIR/FrontPanel.actions and restarting Front Panel to pick up new preferences.

Under the hood, adding or removing number of launchers on the Front Panel is actually editing FVWM InfoStore variables FP.LeftLaunchersNum and FP.RightLaunchersNum in the $FVWM_USERDIR/NsCDE.conf which are both by default 5. Front Panel geometry is automatically recalculated on restart.