Index of Section 1 Manual Pages

Interix / SUAFvwmCpp.1Interix / SUA

FvwmCpp(1)                                             FvwmCpp(1)



NAME
       FvwmCpp - the FVWM  Cpp pre-processor

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


DESCRIPTION
       When called, this module will attempt to have /usr/lib/cpp
       pre-process the file specified in its invocation, and then
       have fvwm read the resulting file.


INVOCATION
       FvwmCpp can be invoked by inserting the line 'FvwmCpp'  in
       the  .fvwm2rc  file.  It can also be called from a menu or
       mouse binding.  If the user wants his entire .fvwm2rc file
       pre-processed  with  FvwmCpp,  then fvwm should be invoked
       as:


            fvwm2 -cmd "FvwmCpp .fvwm2rc"


       Some options can be specified on the command line:

       -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 tempo-
              rary 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/fvwmr-
              cXXXXXX"


       -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-processed  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.


       -noread
              Causes 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. Gener-
              ally 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.

       VERSION
              The X11 version.

       REVISION
              The X11 revision number.

       VENDOR The X server vendor.

       RELEASE
              The 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  nei-
              ther StaticGrey or GreyScale.

       FVWM_CLASS
              The  visual  class  that  fvwm is using, e.g. True-
              Color.

       FVWM_COLOR
              Yes or No, Yes if the FVWM_CLASS is neither Static-
              Grey or GreyScale.

       FVWM_VERSION
              The fvwm version number, ie 2.0

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

       FVWM_MODULEDIR
              The directory where fvwm looks for .fvwmrc and mod-
              ules 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/.fvwm2rc.d
            #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 com-
       ments in your .fvwm2rc file.  The comment sign # is misin-
       terpreted 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  circum-
       vent  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 -' 



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.



                           3 July 2001                 FvwmCpp(1)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA