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

FreeBSD Manual Pages


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

       FvwmCpp - the FVWM  Cpp pre-processor

       Module FvwmCpp [options]	filename

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

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

       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
       FvwmCpp 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

       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

       -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
	      ModuleSynchronous. This option causes fvwm to wait that the pre-
	      process finish and that FvwmCpp asks fvwm	to Read	 the  pre-pro-
	      cessed  file before 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.

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

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

	      Always set to "fvwm".

	      The name of the machine running the X Server.

	      The name of the machine running fvwm.

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

       OSTYPE The operating system for CLIENTHOST.

       USER   The name of the person running fvwm.

       HOME   The home directory of the	person running fvwm.

	      The X11 version.

	      The X11 revision number.

       VENDOR The X server vendor.

	      The X server release number.

       SCREEN The screen number.

       WIDTH  The screen width in pixels.

       HEIGHT The screen height	in pixels.

	      Some  distance/pixel measurement for the horizontal direction, I

	      Some distance/pixel measurement for the  vertical	 direction,  I

       PLANES Number of	color planes for the X server display

	      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.

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

	      Yes or No, Yes  if  the  FVWM_CLASS  is  neither	StaticGrey  or

	      The fvwm version number, ie 2.0

	      Some  combination	 of SHAPE, XPM,	NO_SAVEUNDERS, and Cpp,	as de-
	      fined in configure.h at compile time.

	      The directory where fvwm looks for .fvwm2rc and modules  by  de-
	      fault, as	determined at compile time.

	      The value	of $FVWM_USERDIR.

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

       #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

       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 generates 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. Depending 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 FvwmButtons does	too.  The preprocessor
       may place a space after a macro substitution, 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>

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

3rd Berkeley Distribution (not released	yet) (2.5.20)		    FvwmCpp(1)


Want to link to this manual page? Use this URL:

home | help