Another important part of the configuration. Almost all FVWM functions are defined here, except 2-3 of core functions in NsCDE-Main.conf which are reading the rest of the configuration. They are sorted in logical groups and are used widely in almost every part of the configuration, and particularly from the FvwmScript scripts. Main groups of NsCDE FVWM functions are:
Core Window Operation Functions
Front Panel functions
Misc core functions
Functions called from FvwmEvent MainLoop
Functions for generating menus
Placeholders for functions aimed for user to override
Functions used in NsCDE FvwmScripts
For a FVWM function description see fvwm(1), in this file there is a
plethora of examples, and for user usage is the most interesting part
placeholders for functions which are here merely for programs to not
complain about missing them and which should be overridden in user's local
extension $FVWM_USERDIR/NsCDE-Functions.local
- this extension file will
be read by the main configuration immediately after processing
NSCDE-Functions.conf
. This functions are:
f_CheckMail
: called by CheckMailApplet on the FrontPanel on click
and periodically. This is the place where some script can be called
and with SendToModule to "1 1" (widget 1, routine 1) icon of empty
mailbox will be changed to the icon of the full mailbox.
f_Calendar
: called by MonthDayApplet on click. Can be used to call
external calendar application, to focus Thunderbird with lightning
extension or whatever user finds useful.
f_Mixer
: unused currently.
f_AddCustomToRootMenu
: add custom entries in a convenient point of
the root menu which is called by the right mouse button on the root
window.
f_UserChangeDesk
: called when current active workspace changes
f_UserChangePage
: called when current active page changes
Another useful function is conditional execution function f_WarpOrExec
.
It takes 3+ arguments. First is the window name or class (or icon,
resource) name, second is the binary to check in $PATH
>, and 3rd to the rest
of the command line is what to execute with all arguments included.
If window with name from arg1 is already present on $DISPLAY
, it will
not be executed, but pointer will be simply pointed to that window.
If window was iconified, or function called from another workspace or page,
window will be deiconified, and workspace and/or current page changed to one where
existing window is residing.
Care must be taken if this file is overridden by the local copy of the conf (not local) file, because a lot of things depends on this functions.