Index of Section 1 Manual Pages

Interix / SUAFvwmTheme.1Interix / SUA

FvwmTheme(1)                                         FvwmTheme(1)



NAME
       FvwmTheme  - an FVWM module for managing the appearance of
       FVWM and its modules


SYNOPSIS
       FvwmTheme is spawned by fvwm, so no command  line  invoca-
       tion will work.


COPYRIGHT
       Copyright  (C)  1999  Joey  Shutup.  No guarantees or war-
       ranties or anything are provided or  implied  in  any  way
       whatsoever.   Use  this program at your own risk.  Permis-
       sion to use this program for any purpose is given, as long
       as the copyright is kept intact.


DESCRIPTION
       FvwmTheme  creates appearance resources that may be shared
       by FVWM and other modules.  It reads an initial configura-
       tion  and  also  reacts to configuration commands and mes-
       sages sent from FVWM so that the resources can be  dynami-
       cally changed.


INVOCATION
       FvwmTheme must be spawned as a module by fvwm.

       It is important that FvwmTheme is invoked before any other
       modules that use the color  sets  provided  by  FvwmTheme.
       Thus  FvwmTheme  has  to  be  invoked with the 'ModuleSyn-
       chronous' command by inserting the line 'ModuleSynchronous
       Timeout  5 FvwmTheme' in the .fvwm2rc file right after the
       ModulePath and  ImagePath  have  been  defined.   Invoking
       FvwmTheme  from the InitFunction, StartFunction orRestart-
       Function or later may not  work  properly  and  can  cause
       excessive  redrawing  of  already  running modules.  It is
       important  that  the  configuration  lines  for  FvwmTheme
       appear  in  the  configuration  file  before  FvwmTheme is
       started.  You can find a proper sample fvwm setup  at  the
       end  of  this  document.   Fvwm  will search the directory
       specified  in  the  ModulePath  configuration  option   to
       attempt  to locate FvwmTheme.  It is pointless to run more
       than one FvwmTheme so there is no provision for  using  an
       alias name.


CONFIGURATION OPTIONS
       FvwmTheme supports some configuration options.


       *FvwmTheme: Colorset n options
              Will create or modify colorset n. Each colorset has
              four colors, an optional  pixmap  and  an  optional
              shape mask.  The four colors are used by modules as
              the foreground, background,  highlight  and  shadow
              colors.   When a colorset is created it defaults to
              a foreground of black and background of gray.   The
              background  and  foreground are marked as "average"
              and "contrast" (see later) so that just  specifying
              a pixmap or gradient gives sensible results.

              Warning:  The  highest  colorset number used deter-
              mines memory consumption.  Thus if you define 'Col-
              orset 100000', the memory for 100001 colorsets will
              be used.  Keep your colorset numbers  as  small  as
              possible.

              options  is  a comma separated list containing some
              of the keywords: fg, Fore,  Foreground,  bg,  Back,
              Background, hi, Hilite, Hilight, sh, Shade, Shadow,
              Pixmap, TiledPixmap,  AspectPixmap,  Shape,  Tiled-
              Shape,  AspectShape,  NoShape, ?Gradient, Plain and
              Transparent.

              fg, Fore and Foreground take a  color  name  as  an
              argument and set the foreground color.  The special
              name Contrast may be used to select  a  color  that
              contrasts well with the background color.  To reset
              the foreground color to the default value  you  can
              simply omit the color name.

              bg,  Back  and  Background  take a color name as an
              argument and set the  background  color.   It  also
              sets the highlight and shadow colors to values that
              give a 3d effect unless these have been  explicitly
              set with the options below.  The special name Aver-
              age may be used to select a color that is the aver-
              age  color  of the pixmap.  The background color is
              reset to the default value if  the  color  name  is
              omitted.

              hi,  Hilite  and  Hilight  take  a color name as as
              argument and  set  the  highlight  color.   If  the
              hilight color is not explicitly set, the default is
              to calculate it  from  the  background  color.   To
              switch  back to the default behavior the color name
              can be omitted.

              sh, Shade and Shadow take a color name as as  argu-
              ment and set the shadow color.  If the shadow color
              is not explicitly set, the default is to  calculate
              it  from  the  background color.  To switch back to
              the default behavior the color name can be omitted.

              Pixmap,  TiledPixmap  and  AspectPixmap take a file
              name as an argument, search the ImagePath  and  use
              it as the background pixmap.  Any transparent parts
              are filled with the background color.  Not specify-
              ing  a  file name removes any existing one from the
              colorset.  TiledPixmap will produce repeated copies
              of the image with no scaling, Pixmap will cause the
              image to be stretched to fit  whatever  object  the
              colorset  is  applied  to  and  AscpectPixmap  will
              stretch to fit but will  retain  the  image  aspect
              ratio.  Bitmaps are not supported.

              Transparent  tries  to  create  a transparent back-
              ground pixmap.  It may be necessary to reapply this
              option  whenever  the  background  of  one  of  the
              affected application changes.  The  pixmap  may  be
              used  as  a window background, but due to the way X
              implements transparency no guarantees can  be  made
              that  the  desired  effect  can  be  achieved.  The
              application may even crash.  If you experience  any
              problems  with  this option, do not use it.  Please
              do not write a bug report if this option  does  not
              work for you.

              Shape,  TiledShape and AspectShape take a file name
              as an argument, search the ImagePath and use it  as
              the shape bitmap.  TiledShape will produce repeated
              copies of the bitmap with no  scaling,  Shape  will
              cause  the  bitmap  to be stretched to fit whatever
              object the colorset is applied to and  AscpectShape
              will  stretch  to  fit  but  will retain the bitmap
              aspect ratio.  If the file is a pixmap in xpm  for-
              mat, the shape mask of the pixmap is used.

              Warning:  Due  to the way X11 implements shapes and
              the implementation of the FvwmTheme module you can-
              not  take back making windows shaped.  You may have
              to restart fvwm or the shaped application.

              ?Gradient ... will create a pixmap and  stretch  it
              to fit the window.  ?Gradient may be one of Hgradi-
              ent, Vgradient,  Dgradient,  Bgradient,  Sgradient,
              Cgradient,  Rgradient  or  Ygradient.  The gradient
              types are as follows:  H is horizontal; V is verti-
              cal; D is diagonal from top left to bottom right; B
              is a backwards diagonal from  bottom  left  to  top
              right;  S  is  concentric squares; C is con-centric
              circles; R is a radar like pattern and Y is  a  Yin
              Yang  style  (but without the dots, we are not that
              mad).  Please refer to the COLOR GRADIENTS  section
              in  the fvwm2 man page for the syntax of gradients.

              NoShape removes tha shape mask  from  the  colorset
              while Plain removes the background pixmap or gradi-
              ent.


       *FvwmTheme: ReadWriteColors
              Tells FvwmTheme to use read/write color  cells  for
              the  foreground  and  background  pixels.  This can
              make changing colorsets much faster but can only be
              used  with  PseudoColor displays.  This option must
              be specified first and it cannot be turned off.  If
              the  pixmap  and  shape of a colorset are unchanged
              modules do not redraw when the colors are  changed.


COMMANDS
       The  following FVWM command may be executed at any time to
       alter the colorsets.  It may be bound to a  menu  item  or
       typed into a module such as FvwmConsole.


       SendToModule FvwmTheme Colorset options
              The syntax is the same as the configuration option.


EXAMPLES
          *FvwmTheme: Colorset 3 fg wheat, bg navy

       If necessary this will create colorsets 0, 1, 2 and 3  and
       then  change  colorset  3 to have a foreground of wheat, a
       background of navy.

          *FvwmTheme: Colorset 3 bg "navy blue"

       will change the background color of  colorset  3  to  navy
       blue. The foreground and pixmap will be unchanged.

          *FvwmTheme: Colorset 3 AspectPixmap \
            large_murky_dungeon.xpm

       will cause depression

          *FvwmTheme: Colorset 3 bg Average

       will  set  the  background  color and the relief colors to
       match the background pixmap. This is the  default  setting
       but  it  must  be used if a background color was specified
       and is now not required.

          *FvwmTheme: Colorset 3 YGradient 200 3 \
            blue 1000 navy 1 blue 1000 navy

       will add a Yin Yang gradient background pixmap to colorset
       3.   If the background is set to average it will be recom-
       puted as will the foreground if that is set to contrast.

        #!/bin/sh
        FvwmCommand "SendToModule FvwmTheme Colorset 7
          fg navy, bg gray"
        while true
        do
          FvwmCommand "SendToModule FvwmTheme Colorset 7
            fg gray"
          sleep 1
          FvwmCommand "SendToModule FvwmTheme Colorset 7
            fg navy"
          sleep 1
        done

       will make colorset 7 blink if used  with  the  *FvwmTheme:
       ReadWriteColors option.

       The  color  names used in color sets can be substituted in
       any fvwm command.  Please refer to the  COMMAND  EXPANSION
       section  in the fvwm2 man page and the example below for a
       description.


SAMPLE FVWM CONFIGURATION
       Below you can find a fvwm configuration file  that  demon-
       strates  the  use  of  the FvwmTheme module.  The order in
       which FvwmTheme and the other modules are  configured  and
       started is important.

        # where your images are
        ImagePath 

        #
        # FvwmTheme
        #
        # The FvwmTheme setup must be first in the config file,
        # right after the paths are set.
        #
        # Instead of the *FvwmTheme: Colorset... lines below you
        # could read in a file with these commands.  So to change
        # your color scheme you can simply copy a different file
        # over your palette file and restart fvwm:
        #
        # Read /home/my_user_name/.fvwm2_palette
        #

        # 0 = Default colours
        # 1 = Inactive windows
        # 2 = Active windows
        # 3 = Inactive menu entry and menu background
        # 4 = Active menu entry
        # 5 = greyed out menu entry (only bg used)
        # 6 = module foreground and background
        # 7 = hilight colours
        *FvwmTheme: Colorset 0 fg black, bg rgb:b4/aa/94
        *FvwmTheme: Colorset 1 fg black, bg rgb:a1/b2/c8
        *FvwmTheme: Colorset 2 fg black, bg rgb:da/9a/68
        *FvwmTheme: Colorset 3 fg black, bg rgb:b4/aa/94, \
          VGradient 100 dtcolour5 rgb:b4/aa/94
        *FvwmTheme: Colorset 4 fg black, bg rgb:b4/aa/94
        *FvwmTheme: Colorset 5 fg rgb:d2/bf/a8, \
          bg rgb:b4/aa/94
        *FvwmTheme: Colorset 6 fg black, bg rgb:b4/aa/94, \
          VGradient 100 dtcolour5 rgb:b4/aa/94
        *FvwmTheme: Colorset 7 fg black, bg rgb:94/ab/bf

        # run FvwmTheme before anything else is done
        ModuleSynchronous Timeout 5 FvwmTheme

        #
        # general setup
        #
        Style * Colorset 1
        Style * HilightColorset 2
        MenuStyle * MenuColorset 3
        MenuStyle * ActiveColorset 4
        MenuStyle * GreyedColorset 5

        #
        # Applications
        #
        AddToFunc InitFunction
        + I Exec exec xterm -fg $[fg.cs0] -bg $[bg.cs0]

        #
        # module setup
        #

        # ... more FvwmPager config lines ...
        *FvwmPager: Colorset * 6
        *FvwmPager: BalloonColorset * 6
        *FvwmPager: HilightColorset * 7
        *FvwmPager: WindowColorsets 1 2

        # ... more FvwmIconMan config lines ...
        *FvwmIconMan: Colorset 6
        *FvwmIconMan: FocusColorset 2
        *FvwmIconMan: FocusAndSelectColorset 2
        *FvwmIconMan: PlainColorset 6
        *FvwmIconMan: SelectColorset 6
        *FvwmIconMan: TitleColorset 6

        # ... more FvwmButtons config lines ...
        *FvwmButtons: Colorset 6
        # sample button passing color to xterm
        *FvwmButtons: (Title xterm, \
          Action "Exec exec xterm -fg $[fg.cs6] -bg[bg.cs6]")

        # ... more FvwmWharf config lines ...
        *FvwmWharf: Colorset 6

        # ... more FvwmIdent config lines ...
        *FvwmIdent: Colorset 6

        # ... more FvwmWinList config lines ...
        *FvwmWinList: Colorset      1
        *FvwmWinList: FocusColorset 2
        *FvwmWinList: IconColorset  1

        # ... more FvwmTaskBar config lines ...
        *FvwmTaskBar: Colorset     6
        *FvwmTaskBar: IconColorset 6
        *FvwmTaskBar: TipsColorset 0

       If you need to have more colors and don't want to reinvent
       the wheel, you may use the convention used in fvwm-themes,
       it defines the meaning  of  the  first  40  colorsets  for
       nearly all purposes:

        http://fvwm-themes.sourceforge.net/doc/colorsets


BUGS
       Initialization of fvwm, FvwmTheme and the other modules is
       tricky.  Please pay close attention to  the  text  in  the
       INVOCATION  section.   The  example above demonstrates the
       proper way to get a FvwmTheme setup running.


AUTHOR
       Prefers to remain anonymous.  With help from Brad  Giaccio
       and Dominik Vogt.



                           3 July 2001               FvwmTheme(1)

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