GKrellM Themes Reference

Changelog-themes
=========================================================================
Intro
-----
The GKrellM structure is a framed stack of monitors and there are two
monitor types, Charts and Meters, which have background images applied
to drawing areas.  Charts have two drawing areas, the chart area and the
panel area.  Meters have one drawing area, the meter area.
Most theme images and options are applied at this level and many can
be specified to apply to a particular Chart or Meter monitor.
      _______________________
      |_____________________|<- frame
      | |                 | |
       .                   .
      | |-----------------| |
      | |                 | |  Chart Monitor
      | |   chart area    | |
      | |                 | |
      | |-----------------| |
      | |   panel area    | |
      | |-----------------| |
       .                   .
       .                   .
      | |-----------------| |
      | |   meter area    | |  Meter Monitor
      | |-----------------| |
       .                   .
      |_|_________________|_|
      |_____________________|

A theme specicification includes images for the frame, background images
for each of the drawing areas, detail images which are drawn on panel
and meter areas, and a gkrellmrc file where options such as borders,
margins, colors, and krell parameters are set.

Terminology:
------------
Chart monitor -  A monitor type which has two background areas - a
chart area with a bg_chart image as a background, and a panel area
with a bg_panel image as a background.  Labels, decals, and krells
are drawn in panel areas.

Meter monitor -  A monitor type which has a single background area - a
meter area with a bg_meter image as a background.  Labels, decals,
and krells are also drawn in meter areas.

Decals are pixmap graphics or text elements such as LEDs, button images,
toggling labels, etc. placed in fixed locations in panel or meter
areas.  These may have transparency and may overlap.

Krells are pixmap graphics which are programatically moved horizontally
across the face of a panel or meter area.  They implement meter indicator
movements, moving animations, and slider controls.  Krells may have
transparency and they move over decals.

Image Structure:
----------------
All theme images are either base level images which are in the toplevel
of the theme directory, or monitor specific theme images which are placed
in subdirectories of the toplevel.  All base level images have a default
which will be used if it is not provided in a theme.

Excluding detail and optional images (see below), here is the base set of
images required for a theme change in GKrellM (.png used as an example).

	F : frame_top.png
	f : frame_bottom.png
	  : frame_left.png
	  : frame_right.png
	c : bg_chart.png           a chart area background
	p : bg_panel.png           a panel area background
	m : bg_meter.png           a meter area background
	  : bg_grid.png            a chart area background grid line

This is a side section view showing how these images are used to build
GKrellM.  frame_left/right and bg_grid are not shown and not all
monitors are shown.


   |<--Meters->|<--------Charts----------|<--------Meters---------->|
 | | Cal | Clk | CPU Chart  |  PPP Chart |Timer|  Mem | Swap |  FS  | |
 | |     |     |        |   |        |   |     |      |      |      | |
 o-o\___/-\___/-\______/-----\______/-----\___/-\____/-\____/-\____/o-o
 | |     |     |        |   |        |   |     |      |      |      | |
  F   m     m      c      p     c      p    m      m      m      m   f

The last row shows where background images are applied to the monitors.


====================================================================
Theme Image Names
-----------------
The background areas, krells, or some monitor detail images can have
a monitor specific custom image substituted for the base level default
image.  For a custom image to take effect, it only has to exist in the
monitor specific subdirectory.

Here is a table showing the image naming structure in a theme directory. 
Images may be .png as shown or .jpg or .xpm.

Base level images in the top level of the theme directory
--------------------------------------------------------------------------
frame_top.png
frame_bottom.png
frame_left.png
frame_right.png
--------------------
bg_chart.png
bg_grid.png
bg_panel.png
bg_meter.png
bg_slider_panel.png
bg_slider_meter.png
--------------------
button_panel_in.png
button_panel_out.png
button_meter_in.png
button_meter_out.png
--------------------
krell_panel.png
krell_meter.png
krell_slider.png
--------------------
decal_misc.png
--------------------
   (optional images for plotting data)
data_in.png
data_in_grid.png
data_out.png
data_out_grid.png

--------------------------------------------------------------------------
Builtin Chart monitor theme subdirectories are:

	cpu, disk, inet, net, proc

and each subdirectory may have the custom images:

	bg_chart.png
	bg_grid.png
	bg_panel.png
	krell.png
	spacer_top.png
	spacer_bottom.png

Chart monitors may have additional custom images which are themable.
Currently, only the net monitor has such an image:

	net/decal_net_leds.png

--------------------------------------------------------------------------
Builtin Meter monitor theme subdirectories are:

	apm, cal, clock, fs, host, mail, mem, swap, timer, uptime

and each subdirectory may have the custom images:

	bg_meter.png	(bg_panel.png is accepted for convenience)
	krell.png
	spacer_top.png
	spacer_bottom.png

Not all meter monitors use the krell.png image. Meter monitors may have
additional custom images which are themable. The current extra images are:

	mail/decal_mail.png
	mail/krell_penguin.png
	sensors/bg_volt.png
	timer/decal_timer_button.png
	timer/bg_timer.png

--------------------------------------------------------------------------
Plugin monitor subdirectories can have the corresponding set of chart or
meter custom images if the plugin writer has elected to use the capability.
You can find out by running:

    gkrellm -d 2 -theme .

and looking for lines in the output like:
    ...
    Checking builtin chart monitor: cpu
    Checking plugin  meter monitor: some_plugin_subdir
    Checking builtin meter monitor: uptime
    ...

This will tell you which plugins are set up for custom theming and what
subdirectory name to use.

Plugins may also have extra local images which are themable.  To
discover their names it will probably require looking at specific
plugin code/documentation or contacting plugin authors.  The first
thing to check would be if there is a Themes file in the source tree
of the plugin.  In addition to custom images, there may be plugin
specific configuration lines which may be placed in the gkrellmrc.
Again, check for a plugin Themes file.


==========================================================================
Theme Image Descriptions
---------------------------
--- Background images -----

frame_top.png
	The rendered height can be set with frame_top_height and a border
	specified with frame_top_border in gkrellmrc.
	Transparency is allowed.

frame_bottom.png
	The rendered height can be set with frame_bottom_height and a border
	specified with frame_bottom_border in gkrellmrc.
	Transparency is allowed.

frame_left.png
	The rendered width can be set with frame_left_width and a border
	specified with frame_left_border in gkrellmrc.
	Transparency is allowed.

frame_right.png
	The rendered width can be set with frame_right_width and a border
	specified with frame_right_border in gkrellmrc.
	Transparency is allowed.


bg_chart.png
	The background image for the chart area of a chart monitor.
	To provide custom backgrounds for specific chart monitors,
	theme subdirectories may have a custom version of this image.

bg_grid.png
	This is a 1 or 2 pixel high image which is pasted onto a bg_chart
	background image to show grid lines.  Use it to get nice etched
	grid lines.  It should balance the requirement that it be visible
	yet not distract the eye from the data that is plotted on the
	chart.
	Monitor subdirectories may have a custom version of this image.

bg_panel.png
	The background image for the panel area of a chart monitor.
	A border for this image can be set in the gkrellmrc.
	Monitor subdirectories may have a custom version of this image.

bg_meter.png
	The background image for the meter areas of meter monitors.
	A border for this image can be set in the gkrellmrc.
	Meter monitor subdirectories may have a custom version of this image
	which for convenience may be named bg_panel.png.

bg_slider_panel.png
	A background or trough for a slider (krell_slider image). It may
	be pasted on top of a bg_panel if a slider is created for a
	chart monitor panel and the monitor coder elects to apply the image.
	If you do not make this image or the monitor coder has not applied it,
	then a slider will simply move over the bg_panel image.  So an
	alternative to this image would be to customize looks with a bg_panel.png.

bg_slider_meter.png
	A background or trough for a slider (krell_slider image).  It may
	be pasted on top of a bg_meter if a slider is created for a
	meter monitor panel and the monitor coder elects to apply the image.
	If you do not make this image or the monitor coder has not applied it,
	then a slider will simply move over the bg_meter.png image.  So, an
	alternative to this image would be to customize looks with a bg_meter.png.


---------------------------
--- Detail images ---------

The default theme images will be used for any of these which do not
exist in your theme directory.

button_panel_out.png
button_panel_in.png
	These are images for a button type where the images for it are
	displayed only when the panel area where they exist has the mouse.
	When this button appears, it is an overlay on a label (or decal)
	to emphasize that the label has been assigned button status
	for launching a command.  Since the button is an overlay, it ideally
	should be a 1 - 3 pixel highlighting border surrounding a transparent
	interior (see the default theme implementation), but it could be a
	semi-transparent special effect image depending on the theme. 
	If these images do not exist in your theme then the button overlay
	will be constructed with a default gray color and may or may not
	look good with your theme.
	Set the border sizes for these images in the gkrellmrc with the
	button_panel_border option.

button_meter_out.png
button_meter_in.png
	Same as for button_panel except for overlay buttons in a meter area.
	Set the border with the button_meter_border option in the gkrellmrc.
	If your bg_meter is similar to bg_panel, then these can be copies of
	the button_panel_in/out images.

krell_panel.png
	A vertical stack of krell frames.  See the Tips and Comments below.
	These are used in the bg_panel areas and are intended to be used
	as fast response indicators on chart monitors.  The default depth
	is 4, although the middle two frames are identical.  If you make
	a custom krell_panel, you must tell GKrellM the depth in the
	gkrellmrc file if it is different from the default.
	Chart monitor subdirectories may have a custom version of this image,
	which should be named krell.png

krell_meter.png
	A vertical stack (default depth 1) of krells used in the bg_meter
	area of meter monitors.  If you make a custom krell_meter, you must
	tell GKrellM the depth in the gkrellmrc file if it is different
	from the default.
	Meter monitor subdirectories may have a custom version of this image,
	which should be named krell.png

krell_slider.png
	A vertical stack (default depth 7) of krells used in the bg_panel
	or bg_meter areas of chart or meter monitors.  If you make a custom
	krell_slider, you must tell GKrellM the depth in the gkrellmrc
	file if it is different from the default.

decal_misc.png
	A vertical stack of decals used for various monitors.  I have tried
	to make these theme generic, but you could touch them up to better
	match your theme.

---------------------------------------
--- Optional data plotting  images ----

data_in.png
data_in_grid.png
data_out.png
data_out_grid.png
	If these images exist they are used to plot data on the charts.
	You can have textured or 3D plotted data to go with your bg_chart.
	The data_in_grid and data_out_grid should be 1 or 2 pixel high
	images and are drawn where the plotted data crosses a chart grid line.
	If any of these do not exist data plotting falls back to using the
	in_color and out_color specified in gkrellmrc.  Any shading effect you
	put into a data image should probably track shading on your bg_chart.
	Shading effects are not very apparent on low data density charts,
	so get a big compile or net download going to see the effects.


-----------------------------------------------
--- Monitor specific cosmetic spacer images ---

XXX/spacer_top.png
XXX/spacer_bottom.png
	Most monitors can use bg_XXX images and border settings to get a
	desired appearance.  But some monitors are implemented with multiple
	internal meter panels where these spacer images can be used to fine
	tune the look.  Spacers are rendered to a default height of 3 pixels
	unless set otherwise in the gkrellmrc.  These images have no defaults.
	For example, a meter monitor with two panels can be either of:

	    without spacers:              with spacers:
	---------------------         ---------------------    spacer_top
	|                   |         ---------------------
	|                   |         |                   |    bg_meter
	---------------------         ---------------------
	|                   |         |                   |    bg_meter
	|                   |         ---------------------
	---------------------         ---------------------    spacer_bottom


-------------------------------------------
--- Builtin monitor custom images ----

mail/krell_penguin.png
	This is the multi frame penguin animation for new mail notification.
	The depth must be specified in the gkrellmrc file.  Frame 0 is
	displayed when there is no new mail to announce and so should be
	left blank.  When the penguin animation is enabled, new mail
	to announce triggers the display of frames 1 through depth-2 as
	an animation moving across the width of the mail monitor panel. 
	Since frame depth-1 is not fully visible, it is not displayed and
	is left blank.

mail/decal_mail.png
	This is the stationary envelope animation in the mailcheck panel.
	If envelope animation is enabled, frame 1 is shown by default and
	a new mail count increase triggers frames 1 through depth-1 to be
	shown as an animation.
	If envelope animation is disabled, frame 1 is shown by default and
	frame 0 is shown when a new mail count increase is detected.
	The depth can be specified in the gkrellmrc file.
	This image is applied by default to all themes.

net/decal_net_leds.png
	A vertical stack of 4 leds in the order:
			rx_off, rx_on, tx_off, tx_on
	The net LEDs are stenciled onto the bg_panel backgrounds of Net
	chart monitors.  They may have non rectangular shapes with
	transparency.  The rx and tx LEDs may overlap in complex ways
	because they are individually stenciled onto the net bg_panels.

net/bg_timer.png
	This is a background for the timer part of the TimerButton meter
	monitor and is superimposed on top of its bg_meter.
	It can be used to highlight the timer and visually separate it
	from the button.

sensors/bg_volt.png
	A framing background for the voltage values of the voltage sensor
	monitor.  Run "gkrellm -demo" using the default theme to see it if
	you don't have hardware sensor monitoring.  You can also set a border
	for this image in the gkrellmrc:
		set_image_border sensors_bg_volt l,r,t,b
	Probably the top and bottom border should be only 1 or 2.

timer/decal_timer_button.png
	This is a vertical stack of button images for the button in the
	TimerButton monitor.  There are 4 frames in the order:
		off, pressed, standby, on



==========================================================================
Tips & Comments for anyone making a GKrellM theme
-------------------------------------------------
A theme directory can be specified on the command line
	gkrellm -theme theme_dir
or can be switched to with the Themes configuration tab.  If a gkrellmrc
file exists in the theme directory, it is parsed for theme specific
settings.

Theme directories can exist anywhere for development purposes, but
install final versions in subdirectories under ~/.gkrellm/themes,
/usr/share/gkrellm/themes, or /usr/local/share/gkrellm/themes so that
the Themes configuration tab will pick them up.

0) Some general theory of operation stuff. 
   * Detail images are drawn on bg_panel or bg_meter backgrounds as
     layers with transparency.  Top layer is krells, middle is decals,
     bottom is the background with the label drawn on it.  Decals may
     overlap in complex ways, and krells may move over decals or other
     krells.  Net LEDs are implemented as decals.
   * Krells have depth.  To build one, vertically stack krell images in
     a krell_panel or krell_meter image and specify the number of frames
     in a krell_depth line in the gkrellmrc.  The frame displayed will
     be a function of the depth and horizontal x position of the krell:
       Depth 1: Obvious
             2: Display frame 0 at x = 0, frame 1 at all other positions.
         n > 2: Display frame 0 at x = 0, frame n-1 at x = full_scale, and
                remaining frames at positions proportional to x/full_scale.

1) When you first begin a new theme, it is not necessary to create new
   versions of all your images before you check your progress.  Just make
   a working directory and start making images.  Run
		gkrellm --theme .
   and hit the F5 key with the mouse in the GKrellM window to reload the
   theme as you make changes.  F6 toggles a image debug mode and F7
   toggles a gkrellmrc reading debug mode.

2) A theme may be made with only base level images, but consider some
   nice effects you can get from custom images.  For example:
     * host/bg_meter could be designed to go with a frame_top that has
       transparency, likewise uptime/bg_meter with frame_bottom.
     * A seamless clock calendar background could be split in half to
       make a cal/bg_meter and clock/bg_meter.  mem/bg_meter and
       swap/bg_meter could also be unified this way.
     * Break up a monotonous vertical GKrellM with a slightly different
       fs/bg_meter or give the FS monitors a different looking krell.

3) Run "gkrellm -demo" to see some less frequently used features you may
   not have available or enabled on your system: cpu temps, apm monitor,
   demo of slider in meter and panel, timer button, and an inet chart.
   Other optional monitors which are easily enabled (such as fs, mail, etc)
   are not forced on.

=======================================================================
Theme Alternatives
------------------
If there is a line in your gkrellmrc:
    theme_alternatives = N
then you can have 1 to N different gkrellmrc and image alternatives
that can be selected in the Themes tab.  For each alternative N,
you can have an optional gkrellmrc_N whose options will override any
set in the base level gkrellmrc.  If any image_N.png exists, it will
be used in place of the base image.png.  This can be used to give
some flexibility to your theme.  You could have more than one frame
style or different font colors and sizes.  For example if you have
    theme_alternatives = 2
Then you would have 3 gkrellmrc files:
	gkrellmrc        (always applied)
	gkrellmrc_1      (applied after gkrellmrc for theme alternative 1)
	gkrellmrc_2      (applied after gkrellmrc for theme alternative 2)
And you can have alternative images selectively applied depending on
the alternative selected.  If you had these images:
	bg_meter.png
	krell.png
	krell_1.png
	fs/krell.png
	fs/bg_meter_2.png
then, the images would be used:
Default Alternative 0:
	Base images: bg_meter krell    fs monitor images: fs/krell bg_meter
Alternative 1:
	Base images: bg_meter krell_1  fs monitor images: fs/krell bg_meter
Alternative 2:
	Base images: bg_meter krell    fs monitor images: fs/krell fs/bg_meter_2

==========================================================================
The gkrellmrc file
------------------

Adjustments to label positions, margins, label colors/fonts, image borders,
krell parameters, frame rendering, etc  are made in the gkrellmrc file.
Setting these values may have a variable effect on different monitors
because the programmer may use the values to differing degrees.  For
example, margins may affect a label or some text decal but not affect
other text decals because the programmer explicitely centers the decal.

The possible gkrellmrc lines are listed here.

The author line credits the theme maker.  This will appear in the Themes
configuration window.
	author = "yourname  email address"

Theme alternatives are possible, see above.
    theme_alternatives = N

If allow_scaling is true, then LED position and size is scaled according
to the chart_width/chart_width_ref ratio.  chart_width_ref is the width
you use for designing images and placing LEDs.
	chart_width_ref  = w
	allow_scaling    = {true | false}

Frames can be rendered to heights and widths different from the
drawn image sizes.  0 means use the drawn image width or height.
	frame_top_height  = h
	frame_bottom_height  = h
	frame_left_width  = w
	frame_right_width  = w

Borders for images are specified with comma separated numbers in the order:
    left border, right border, top border, bottom border

Borders for the main GKrellM window frame images.
	frame_top_border = l,r,t,b
	frame_bottom_border = l,r,t,b
	frame_left_border = l,r,t,b
	frame_right_border = l,r,t,b

The data colors plotted on the charts are plotted in two different ways.
If the images data_in.xxx, data_in_grid.xxx, data_out.xxx, and
data_out_grid.xxx exist in the theme dir, they are used to plot data.
If they do not exist, then the colors set here are used.
Grid colors are drawn where the plotted data crosses a grid line.
This allows grid lines to "show through" on high density charts.
Colors are hex triplets ( #rrggbb ) or rgb.txt color names.  Put quotes
around two word rgb_color_names.
	chart_in_color       = { #rrggbb | rgb_color_name }
	chart_in_color_grid  = { #rrggbb | rgb_color_name }
	chart_out_color      = { #rrggbb | rgb_color_name }
	chart_out_color_grid = { #rrggbb | rgb_color_name }

Some tweaking on drawing the background grid lines.  0 is normal and 1
inhibits grid line drawing at the top and bottom of charts.
This is useful for bg_chart pixmaps that have 3D shading at the top and
bottom and is a cosmetic effect.
	bg_grid_mode = {0,1}

Negative x values here mean justify |x| pixels from right frame.
Positive x values mean justify x pixels from left frame.
Where to put the LEDs of each net interface monitor in its panel:
	rx_led_x = x
	rx_led_y = y
	tx_led_x = -x
	tx_led_y = y

Number of frames in the stationary animated mail decal.  Delay is
number of update ticks between each frame.  Set these if you replace
the default mail decal envelope animation.
	decal_mail_frames = 18
	decal_mail_delay = 1

There is a krell image used as a slider control.  Set its depth and x_hot
if you replace the default.  There is one slider krell for all meter areas
and panel areas, so style setting does not apply.
	krell_slider_depth = d
	krell_slider_x_hot = x

Set the borders for the background slider trough images.  There is one
image for all panel areas and and one image for all meter areas, so style
setting does not apply.
	bg_slider_panel_border = l,r,t,b
	bg_slider_neter_border = l,r,t,b

Border for the optional bg_timer.  If bg_timer image exists, it will be
placed inside the top_margin and bottom_margin and at the left margin
of the timer panel.  The timer display will be placed inside of the borders.
	bg_timer_border = l,r,t,b

Borders for the panel and meter buttons.
	button_panel_border = l,r,t,b
	button_meter_border = l,r,t,b

Fonts.  Use the large/normal/small font names in style settings below to
change the default font assigned to any text.
	large_font  = "-adobe-courier-medium-r-normal-*-*-120-*-*-m-*-*-*"
	normal_font = "-adobe-courier-medium-r-normal-*-*-100-*-*-m-*-*-*"
	small_font  = "-adobe-helvetica-medium-r-normal-*-*-80-*-*-p-*-*-*"


========= Spacer height settings ============
If you use any top or bottom spacers for monitors you can set something
other than the default 3 pixel height.  "mon" is a chart or meter monitor
style name as listed below for styles (eg, clock, fs, gkrellmms, etc)
	spacer_top_height mon h
	spacer_bottom_height mon h



========= Extension hooks ===========
These are ways to get options set for image or feature extensions which
plugins will use.  Builtin monitors will also begin to use these hooks
as documented above.

If a plugin uses a background image in addition to the standard bg_panel
or bg_chart and its code allows for the image to be themed,
a hook to set the border for that image may have been provided.
It may be necessary to check plugin documentation to find the names, but for
example, say a plugin "frump" uses an additional background image
"bg_special.png" and for setting its border has added an image border
hook "frump_bg_special".  Then if you have made a theme image
frump/bg_special.png for this plugin, you can set the image border with:

	set_image_border  frump_bg_special = l,r,t,b

Plugins also have a way to request integer or string initialization
values from the gkrellmrc.  Again, check for plugin Theme file documentation
in addition to this file because there could be options like:

	set_integer frump_some_integer = n
	set_string  frump_some_color_string = "deep sky blue"
   

========= Style settings for the monitors. ============
Some options can be set to apply globally to areas of all similar monitors,
or can be set to individually apply only to an area of a specific monitor.
This is done with Style lines which can have a global '*' scope name or a 
specific monitor name.  Since these theme specifications begin at
the monitor drawing area level, there are Style lines for each area.
There are StyleChart and StylePanel lines for the chart and panel
areas in the Chart monitors, and a StyleMeter line for the single
meter area in the Meter monitors.

Chart monitor style settings
----------------------------
The builtin Chart monitors are: cpu, proc, disk, inet, and net.
To apply a setting to a particular monitor, replace the '*' with
the monitor name.  Plugin Chart monitor style names may be available
which can also be used in place of the '*'.

--Style settings applicable to the chart areas of Chart monitors--
* textcolor line settings are:
		color shadow_color drawing_effect
  color or shadow_color may be hex #rrggbb or text rgb_color_names, with
  two word rgb_color_names enclosed in quotes.
* transparency settings are:
  1 - Forces a totally transparent chart, panel, or meter area.
  2 - For a partially transparent chart, panel, or meter area.
	StyleChart	*.border = l,r,t,b
	StyleChart	*.textcolor = #rrggbb #rrggbb {shadow | none}
	StyleChart	*.alt_textcolor = #rrggbb #rrggbb {shadow | none}
	StyleChart	*.font = {large_font | normal_font | small_font}
	StyleChart	*.transparency = { 1,2 }
	

--Style settings applicable to the panel areas of Chart monitors--
Label postions are a percent of chart width, so a position of 50
would center a label.
margin is used for both left and right margins (for labels, decals, etc)
Krell_depth is the number of frames in the krell image.
Krell_x_hot is an offset into a krell frame. Set to -1 to set x_hot to center.
Krell_y_off is an offset from a panel or meter area top for krell drawing.

	StylePanel	*.border = l,r,t,b
	StylePanel	*.label_position = { 0-100 }
	StylePanel	*.margin = m
	StylePanel	*.top_margin = m
	StylePanel	*.bottom_margin = m
	StylePanel	*.textcolor = #rrggbb #rrggbb {shadow | none}
	StylePanel	*.alt_textcolor = #rrggbb #rrggbb {shadow | none}
	StylePanel	*.font = {large_font | normal_font | small_font}
	StylePanel	*.alt_font = {large_font | normal_font | small_font}
	StylePanel	*.krell_depth  = d
	StylePanel	*.krell_x_hot  = x
	StylePanel	*.krell_y_off  = y
	StylePanel	*.transparency = { 1,2 }


Meter monitor style settings
----------------------------
The builtin Meter monitors are: apm, cal, clock, fs, host, mail, mem, swap,
   timer, and uptime.
To apply a setting to a particular monitor, replace the '*' with
the monitor name.  Plugin Meter monitor style names may be available
which can also be used in place of the '*'.

--Style settings applicable to the meter areas of Meter monitors--

	StyleMeter	*.border = l,r,t,b
	StyleMeter	*.label_position = { 0-100 | center | none }
	StyleMeter	*.margin = m
	StyleMeter	*.top_margin = m
	StyleMeter	*.bottom_margin = m
	StyleMeter	*.textcolor = #rrggbb #rrggbb {shadow | none}
	StyleMeter	*.alt_textcolor = #rrggbb #rrggbb {shadow | none}
	StyleMeter	*.font = {large_font | normal_font | small_font}
	StyleMeter	*.alt_font = {large_font | normal_font | small_font}
	StyleMeter	*.krell_depth  = d
	StyleMeter	*.krell_x_hot  = x
	StyleMeter	*.krell_y_off  = y
	StyleMeter	*.transparency = { 1,2 }



=======================================================================
===== Example gkrellmrc style settings.

These are the default style settings in GKrellM.  They will apply unless
a theme overrides them.  See the gkrellmrc template for examples of
other options.  It is highly recommended that you create an initial
gkrellmrc including all the settings in the template gkrellmrc so that
you can be sure your theme will remain unaffected by changes in the
default theme.

# Settings for the chart areas of all Chart monitors.
	StyleChart  *.border = 0,0,0,0
	StyleChart  *.font = normal_font
	StyleChart  *.alt_font = small_font
	StyleChart  *.textcolor = #efd097 #000000 shadow
	StyleChart  *.alt_textcolor = #d0d0d0 #000000 shadow

# Settings for the panel areas of all Chart monitors.
	StylePanel  *.border = 0,0,2,2
	StylePanel  *.font = normal_font
	StylePanel  *.alt_font = normal_font
	StylePanel  *.textcolor = white #000000 shadow
	StylePanel  *.alt_textcolor = #b0e0b0 #000000 shadow
	StylePanel  *.label_position = 50
	StyleMeter  *.margin = 3
	StylePanel  *.krell_x_hot = 3
	StylePanel  *.krell_depth = 4
	StylePanel  *.krell_yoff = 0

# Settings for the meter areas of all Meter monitors.
	StyleMeter  *.border = 3,3,3,2
	StyleMeter  *.font = normal_font
	StyleMeter  *.alt_font = small_font
	StyleMeter  *.textcolor = #f8b8a0 #000000 shadow
	StyleMeter  *.alt_textcolor = wheat #000000 shadow
	StyleMeter  *.label_position = 50
	StyleMeter  *.margin = 3
	StyleMeter  *.krell_x_hot = -1
	StyleMeter  *.krell_depth = 1
	StyleMeter  *.krell_yoff = 1

These are some additional specific style settings used in the
default theme.  They are not default settings since they will
not apply if any theme other than the default is loaded.  If
you want any of these settings you must include them in your
gkrellmrc.
	StyleMeter  apm.border = 3,3,2,2
	StyleMeter  apm.font = small_font

* cal.font and cal.textcolor is for day of week and month name
	StyleMeter  cal.font = small_font
	StyleMeter  cal.textcolor = #white #000000 shadow

# cal.alt_font is day of month
	StyleMeter  cal.alt_font = large_font

* clock.font and clock.textcolor is for hours & minutes
# clock.alt_font and clock.alt_textcolor would be used for seconds or am/pm
	StyleMeter  clock.font = large_font
	StyleMeter  clock.textcolor = wheat #000000 shadow

	StyleMeter  fs.border = 3,3,3,2
	StyleMeter  fs.label_position = 0
	StyleMeter  fs.alt_font = normal_font
	StyleMeter  host.textcolor = #b0e0b0 #000000 shadow
	StyleMeter  mail.alt_textcolor = orange #000000 shadow
	StyleMeter  timer.textcolor = wheat #000000 shadow
	StyleMeter  uptime.textcolor = wheat #000000 shadow

And here are some example style settings for plugins just to demonstrate
that they can be configurable the same as builtins.  This will work if
the plugin author has created a named style and you have determined its
name as described above and the plugin code uses these style parameters.
Here I assume the gkrellmms and volume plugins will have done this:

	StyleMeter	gkrellmms.textcolor #b0e0b0 black shadow
	StyleMeter  gkrellmms.alt_textcolor #b0e0b0 black shadow
	StyleMeter  volume.label_position = 0

=======================================================================
 Notes:
---------
More specific settings always have priority over general settings.
So these two lines:
	StyleMeter  *.label_position = 50
	StyleMeter  fs.label_position = 0
Have the same effect as:
	StyleMeter  fs.label_position = 0
	StyleMeter  *.label_position = 50
That is, the fs labels are left justified and all other meter labels are
centered.

---------
Only some monitors use the alt_font and alt_textcolor style settings:

	StyleChart proc.alt_xxx       # Used for text label part of the extra info
	StyleChart inet.alt_xxx       #   draw on the chart area.

	StylePanel cpu.alt_xxx        # Used for CPU temperature display
	StylePanel proc.alt_xxx       # Used for mainboard temperature display

	StyleMeter cal.alt_xxx        # Day of month digits
	StyleMeter clock.alt_xxx      # Seconds and ampm part of time display
	StyleMeter fs.alt_xxx         # fs capacity numbers when toggled on.
	StyleMeter host.alt_font      # Hostname if host.font does not fit.
	StyleMeter mail.alt_textcolor # The blinking "mute" decal.
	StyleMeter mem.alt_xxx        # Memory capacity numbers when toggled on.
	StyleMeter swap.alt_xxx       # Swap capacity numbers when toggled on.