FvwmSaveDesk (1) - Linux Manuals

FvwmSaveDesk: another fvwm desktop-layout saving module


FvwmSaveDesk - another fvwm desktop-layout saving module


FvwmSaveDesk is spawned by fvwm, so no command line invocation will work.


When called, this module will attempt to save your current desktop layout as a definition of extra lines for the function InitFunction into the file .fvwm2desk in your home directory. As explain in the other documentation, this function is called at startup of fvwm. You have to include this file in .fvwm2rc after the definition of the Function Initfunction. You can do this by using the module FvwmM4 or FvwmCpp.

Your applications must supply certain hints to the X window system. Emacs and Netscape, for example, does not, so FvwmSaveDesk can't get any information from it.

Also, FvwmSaveDesk assumes that certain command line options are globally accepted by applications, which may not be the case.


The M4 Macro processor substitutes its macros even in the middle of a word. Because of that you may have problems with predefined macros such as include or define. To avoid this the GNU M4 has an extra option to prefix all builtins with 'm4_'. FvwmM4 can be called with option -m4-prefix and then will provide the option -P to M4. I personally use the FvwmM4 module this way.
fvwm -cmd "FvwmM4 -m4-prefix -m4opt -I$HOME $HOME/.fvwm2rc"
Simply add the following line to the end of .fvwm2rc:
m4_include(`.fvwm2desk') .


With the FvwmCpp you may have the problem that the preprocessor directives starts with the comment character '#' and will complain about unknown directives, if you have comments in your .fvwm2rc.
fvwm -cmd "FvwmCpp -C-I$HOME $HOME/.fvwm2rc"
Simply add the following line to the end of .fvwm2rc:
#include ".fvwm2desk"


FvwmSaveDesk can be invoked by adding it to a menu or binding it to a mouse button or key stroke in the .fvwm2rc file. Fvwm will search directory specified in the ModulePath configuration option to locate FvwmSaveDesk.

To insert it to a menu, add the line

+       "Save Desktop" Module FvwmSaveDesk
to the menu definition. I thing binding it to a mouse button is not very useful, but you can do that, by adding for example this line.
Mouse 3         R       CS      Module FvwmSaveDesk
Than FvwmSaveDesk will be called if you hit the right mouse button on the root window while holding the shift and control button down.

You can bind FvwmSaveDesk to a function key F10 for example you have to insert the following line:

Key     F10     A       Module FvwmSaveDesk
I personally add it as a Button to the module FvwmButtons:
*FvwmButtons SaveDesc desk.xpm   Module FvwmSaveDesk


Carsten Paeth (calle [at] calle.in-berlin.de)