Index of Section 1 Manual Pages
| Interix / SUA | FvwmTheme.1 | Interix / 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)