Themes
JamMt is capable to change its look by applying themes. This might be
helpful for example if your laser glasses don't allow you to see a certain
color on the screen. Beside the default theme there should be at least one
theme on JamMt's website ready for downloading. Currently this is the
'Monochrome' theme. A theme consists of a .theme file and several PNG
images.
Using a theme
To apply a theme you have to unzip/untar it and then copy it to the folder
'.JamMt/themes/' within your home directory. Then you have to add/edit the
colortheme entry in the file '.JamMt/config' and restart JamMt. To use the
'Monochrome' theme for example, add the following line within the 'Settings'
section like
this
< Settings>
...
< colortheme> Monochrome</colortheme>
...
</Settings>
Creating a theme
For each theme there has to be a folder within '.JamMt/themes'. The name of
that folder determines the theme name as it has to be given in the config
file. Within the theme folder there has to be the file 'themename.theme',
where 'themename' is identical to the folder name. Beneath this file the
theme folder has to provide several images in png format.
The .theme file format
Within the .theme file you can specify several colors and the position and
height of each image. It is a simple text file that includes a variable
specification on each line. Comments may be inserted by preceding a '#'.
Colors are specified by their red, green, blue and alpha values. The height
and position is given in units of the screen height. Here, the position 0.0
is the center of the screen. The following listing shows all default
values:
# color of the 'y' axis
ChartFgCol: 255, 0, 0, 255
# background color of the chart
ChartBgCol: 230, 230, 230, 255
# color of the 'y2' axis
ChartFg2Col: 0, 200, 0, 255
# color of grid
GridCol: 30, 30, 30, 255
# background color of the info boxes
InfoboxBgCol: 250, 250, 250, 255
# foreground color of the info boxes
InfoboxFgCol: 40, 40, 40, 255
# y coordinates
handle_y = -0.4
lens_y = 0.0
substrate_y = 0.0
beam-analyzer_y = 0.0
clipping_y = 0.0
text-label_y = 0.0
info-box_y = 0.5
# components heights
handle_h = 0.1
lens_h = 0.4
substrate_h = 0.4
beam-analyzer_h = 0.8
clipping_h = 0.2
text-label_h = 0.8
info-box_h = 0.4
The image files
The naming convention for the PNG files is as follows:
These files must exist:
component[_flavor]_default_active.png
Other files have to follow the convention:
component[_flavor]_mode_state.png
The following values are allowed:
component: handle, lens, substrate, beam-analyzer, text-label, clipping
flavor: convex-convex, concave-concave, plan-plan
plan-convex, plan-concave, convex-concave
mode: rotate, default
state: active, inactive
Note that only lenses and substrates have a 'flavor'.