Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FvwmCpp(1)			  Fvwm Modules			      FvwmCpp(1)

NAME
     FvwmCpp - the Fvwm  Cpp pre-processor

SYNOPSIS
     Module FvwmCpp [options] filename

     The FvwmCpp module can only be invoked by fvwm.  Command line invocation of
     the FvwmCpp module will not work.

DESCRIPTION
     When  fvwm executes the FvwmCpp module, FvwmCpp invokes the cpp pre-proces-
     sor on the file specified in its invocation, then FvwmCpp	causes	fvwm  to
     execute the commands in the resulting file.

INVOCATION
     FvwmCpp can be invoked as a module using an fvwm command, from the .fvwm2rc
     file, a menu, mousebinding, or any of the many other ways fvwm commands can
     be issued.

     If the user wants his entire .fvwm2rc file pre-processed with FvwmCpp, then
     fvwm should be invoked as:

     fvwm -cmd "Module FvwmCpp .fvwm2rc"

     Note  that  the argument to the option "-cmd" should be enclosed in quotes,
     and no other quoting should be used.

     When FvwmCpp runs as a module, it runs asynchronously from fvwm.  If  Fvwm-
     Cpp  is invoked from the .fvwm2rc, the commands generated by FvwmCpp may or
     may not be executed by the time fvwm processes  the  next	command  in  the
     .fvwm2rc.	Invoke FvwmCpp this way for synchronous execution:

     ModuleSynchronous FvwmCpp -lock filename

OPTIONS
     Some options can be specified following the modulename:

     -cppopt option
	    Lets  you  pass  an option to the cpp program.  Not really needed as
	    any unknown options will be passed on automatically.

     -cppprog name
	    Instead of invoking "/usr/lib/cpp", fvwm will invoke name.

     -outfile filename
	    Instead of creating a random unique name for the temporary file  for
	    the  preprocessed rc file, this option will let you specify the name
	    of the temporary file it will create.  Please note that FvwmCpp will
	    attempt to remove this file before writing to it, so don't point  it
	    at anything important even if it has read-only protection.

     -debug Causes the temporary file create by Cpp to be retained. This file is
	    usually called "/tmp/fvwmrcXXXXXX"

     -lock  If	you  want to use this option you need to start FvwmCpp with Mod-
	    uleSynchronous. This option causes fvwm to wait that the pre-process
	    finish and that FvwmCpp asks fvwm to Read the pre-processed file be-
	    fore continuing. This may be useful at startup if you use a  session
	    manager  as  Gnome.  Also, this is useful if you want to process and
	    run a Form in a fvwm function.

     -noreadCauses the pre-processed file to be not read by fvwm. Useful to pre-
	    process a FvwmScript script with FvwmCpp.

CONFIGURATION OPTIONS
     FvwmCpp defines some values for use in the pre-processor file:

     TWM_TYPE
	    Always set to "fvwm".

     SERVERHOST
	    The name of the machine running the X Server.

     CLIENTHOST
	    The name of the machine running fvwm.

     HOSTNAME
	    The host name of the machine running fvwm.	Generally  the	same  as
	    CLIENTHOST.

     OSTYPE The operating system for CLIENTHOST.

     USER   The name of the person running fvwm.

     HOME   The home directory of the person running fvwm.

     VERSIONThe X11 version.

     REVISION
	    The X11 revision number.

     VENDOR The X server vendor.

     RELEASEThe X server release number.

     SCREEN The screen number.

     WIDTH  The screen width in pixels.

     HEIGHT The screen height in pixels.

     X_RESOLUTION
	    Some  distance/pixel  measurement  for  the  horizontal direction, I
	    think.

     Y_RESOLUTION
	    Some distance/pixel measurement for the vertical direction, I think.

     PLANES Number of color planes for the X server display

     BITS_PER_RGB
	    Number of bits in each rgb triplet.

     CLASS  The X11 default visual class, e.g. PseudoColor.

     COLOR  Yes or No, Yes if the default visual class is neither StaticGrey  or
	    GreyScale.

     FVWM_CLASS
	    The visual class that fvwm is using, e.g. TrueColor.

     FVWM_COLOR
	    Yes or No, Yes if the FVWM_CLASS is neither StaticGrey or GreyScale.

     FVWM_VERSION
	    The fvwm version number, ie 2.0

     OPTIONSSome  combination  of SHAPE, XPM, NO_SAVEUNDERS, and Cpp, as defined
	    in configure.h at compile time.

     FVWM_MODULEDIR
	    The directory where fvwm looks for .fvwm2rc and modules by	default,
	    as determined at compile time.

     FVWM_USERDIR
	    The value of $FVWM_USERDIR.

     SESSION_MANAGER
	    The  value	of  $SESSION_MANAGER.  Undefined if this variable is not
	    set.

EXAMPLE PROLOG
     #define TWM_TYPE fvwm
     #define SERVERHOST spx20
     #define CLIENTHOST grumpy
     #define HOSTNAME grumpy
     #define OSTYPE SunOS
     #define USER nation
     #define HOME /local/homes/dsp/nation
     #define VERSION 11
     #define REVISION 0
     #define VENDOR HDS human designed systems, inc. (2.1.2-D)
     #define RELEASE 4
     #define SCREEN 0
     #define WIDTH 1280
     #define HEIGHT 1024
     #define X_RESOLUTION 3938
     #define Y_RESOLUTION 3938
     #define PLANES 8
     #define BITS_PER_RGB 8
     #define CLASS PseudoColor
     #define COLOR Yes
     #define FVWM_VERSION 2.0 pl 1
     #define OPTIONS SHAPE XPM Cpp
     #define FVWM_MODULEDIR /local/homes/dsp/nation/modules
     #define FVWM_USERDIR /local/homes/dsp/nation/.fvwm
     #define SESSION_MANAGER local/grumpy:/tmp/.ICE-unix/440,tcp/spx20:1025

BUGS
     Module configurations do not become active until fvwm has restarted if  you
     use FvwmCpp on startup. FvwmCpp creates a temporary file and passes this to
     fvwm,  so	you  would  have to edit this file too.  There are some problems
     with comments in your .fvwm2rc file.  The comment sign # is  misinterpreted
     by  the preprocessor.  This has usually no impact on functionality but gen-
     erates annoying warning messages.	The sequence /* is  interpreted  as  the
     start  of a C comment what is probably not what you want in a filename. You
     might want to try /?* (for filenames only) or /\* or "/*" instead.  Depend-
     ing  on  your preprocessor you may have the same problem with "//".  Macros
     are not replaced within single (') or double quotes ( back  quotes  (`)  to
     circumvent this. Fvwm accepts back quotes for quoting and at least FvwmBut-
     tons  does too.  The preprocessor may place a space after a macro substitu-
     tion, so with
     #define MYCOMMAND ls
     "Exec "MYCOMMAND" -l"
     you might get
     "Exec "ls " -l" (two words)
     and not
     "Exec "ls" -l" (one word).

     If you use gcc you can use this invocation to turn off '//' comments:

     FvwmCpp -Cppprog '/your/path/to/gcc -C -E -' <filename>

AUTHOR
     FvwmCpp is the result of a random bit mutation on a hard disk, presumably a
     result of a  cosmic-ray or some such thing.

3rd Berkeley Distribution   05 September 2019 (2.6.9)		      FvwmCpp(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=FvwmCpp&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help