Working With Themes

You can make SysMetrix look and act differently by applying themes - you can even create your own themes with a little effort. There's a theme browser in the configuration dialog that allows you to load and delete themes. You can also create, modify and save themes. Assuming a typical install, there are a few sample themes to demonstrate functionality.

Creating your own theme
First of all, you goto the theme settings configuration section and click on the "New Theme" button. This allows you to create a new theme. You have to fill in the new theme's name so that it will have something to display and can save out the theme for later use. You can also add a description, your name, and an email/webpage URL if you'd like.

Background Image
The other required parameter is the theme's background which is a pre-existing image for the theme to use as the background. This is the canvas on which SysMetrix will paint everything - clock hands, text, graphs, etc. Any areas on the image that are "magic pink" (RGB 255,0,0 or HEX 0xFF00FF) will cause that section of SysMetrix to be completely transparent. That means that by putting that color in the image you can make the form irregular shapes like a circle instead of a rectangle. Additionally, you can also use it to "poke holes" in the form or "fool" the user into thinking that there are multiple detached forms. Due to the way it's implemented, these area will always be 100% transparent - you'll always see through it in those places and you can never draw in that area.

Defining how the theme works
By default, the newly created theme will be created without anything - no clock no graphs, etc. From this point, you will be adding, deleting, and modifying all of the display properties. There are a few different types of things that SysMetrix can do:

  • Display an analog clock
    You can control which hands are shown - hours, minutes, and seconds. For each one of those you determine the various features such as where the hand should be drawn (or better yet, the center of the clock from which the hand originates), its length and width, color, and opacity (should it be completely opaque or be somewhat transparent and blend into the background?). If you don't want a particular hand to be drawn, just disable it via the checkbox or set its length or width to 0 as that tells SysMetrix to not bother to draw it. You can also choose to anti-alias the clock hands (make them smooth instead of jagged in appearance).
  • Display textual information
    You can have SysMetrix display various statistics including time, date, uptime, CPU usage, memory usage, disk usage, network usage, etc. as text. You can even choose a "Generic Text" type that isn't associated with any particular statistic. It serves as an easy way to put custom text in a theme via the prefix or postfix fields.
  • Display graphical information
    You can have SysMetrix display many of those same statistics in various graphical formats. Currently there are bar graphs, histograms, multi-state images, dual-state images, and sliders available.

  • Bar graph - A bar graph is probably the simplest and used to display the current value of something. This value is usually a percentage, meaning that it ranges from 0 to 100%. 

    Histogram - A histogram is used to display the past and current value of something. It can also be used to show percentages, but SysMetrix also has an automatic scaling mechanism so that it can be used for other, non-percentage values. 

    Slider images - These are similar to a typical volume control for a media player. It's composed of a slot and a handle. The slot is assumed to be in the background image, and the theme provides an image for the handle. You can use a slider image to display percentage-based statistics.

    Multi-state images - These require more work on the part of the skinner, but are much more powerful and flexible. They are similar to bar graphs in that they don't have a history and are used to display percentage-based values. You can use this type of control to simulate virtually anything - analog gauges, LEDs that glow, etc. 

    Dual-state images - These are simply on/off images for a few things. Currently the recycle bin and email accounts are supported. The recycle bin will have an empty and non-empty state, and the email accounts will have a 0 messages and a 1 or more messages state.

    What to use when
    Most of the control types don't save a history so they are a good way to graphically display something that either doesn't change often or something for which you don't care about the past history. Hard drive usage is a good example of this. In general it doesn't change too often and you probably don't care how much space is used now compared to 5 seconds ago. Therefore, you'd probably choose a bar graph, slider control, or multi-state image to dispict this value. Conversely, a histogram is a good choice for displaying CPU usage as it generally fluctuates quite a bit and viewing a history of the CPU usage over the past minute can give you a good idea of how hard your computer has been working.

    More on Dual-State Images
    Dual-state images are used to graphically represent whether or not the recycle bin is empty and whether or not you've got email. The graphics must be called "RecycleBin.bmp" and "Email.bmp" and must reside in the theme's directory. These bitmaps consist of the empty state image followed by the non-empty state image. In other words, both the empty and non-empty images must be the same size and the bitmap is going to have the empty image on the left side and the non-empty image on the right side. So, it will be the same height as both of them, but will be twice as long as they are. SysMetrix will divide the image in half and use the left side to depict the empty state and will use the right side to depict the non-empty state.  If the theme contains dual-state images, you can configure the program to empty the recycle bin or launch your email client when the image is double-clicked.