Skip to content

Winterstark/SysMana

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SysMana

SysMana is a Windows system monitor designed to be easy to use and flexible, enabling users to construct a varied set of monitors that display data using images, animated gifs, graphs, etc.

Screenshot: SysMana

Currently, the program can monitor the following resources:

  • CPU usage
  • RAM usage
  • Hard drive space
  • Recycle bin size / number of files
  • Battery power (% remaining / time remaining)
  • Download / upload speed
  • Wireless signal strength
  • System volume
  • Audio peak level (left channel / right channel / master)
  • Data from text file
  • System time

To display the data SysMana has a variety of methods:

  • Text output - the most basic of displays
  • Spinner - the greater the data value the faster an image spins
  • Progress bar - draws a foreground image stretching over a background image (in any direction, e.g. left to right, bottom to top, etc.)
  • Image sequence - chooses a display image from a numbered sequence of pictures
  • Graph - displays the data value's change over time
  • Dota clock - only used to visualize system time; inspired by Dota 2

Keep in mind that SysMana might slow down your computer a little. After you set it up check Task Manager to see if it's using up too much CPU - you can reduce that number by increasing the Refresh interval in Options, and by eliminating some meters. Future versions of SysMana will probably be more optimized.

IMPORTANT NOTICE: Github recently changed the URLs of some files, which caused the automatic updater to break. If SysMana keeps informing you that the update check failed, you should install the newest version manually, which has this issue fixed.

Example monitor set

The resource monitors used in the top image are, in order:

  1. RAM available (Bottom to top progress bar)
  2. Available disk space (Bottom to top progress bar)
  3. Data file (Bottom to top progress bar) - user's "stamina"
  4. Battery % remaining (Bottom to top progress bar)
  5. Download speed (Graph)
  6. System volume (Radial progress bar)
  7. Recycle Bin size (Bottom to top progress bar)
  8. Data file (Image sequence) - current weather
  9. System time (Dota clock)

Monitor #3 is connected to a program I made to remind me to take regular breaks from the computer (Take5). SysMana represents the time until the next break as an orb with slowly depleting "stamina".

Monitor #8 reads the current weather status / moon phase from a file and displays the relevant image. The status is generated by my wallpaper manager: Wallcreeper.

Installation

  1. (You need to have .NET framework installed on your computer)
  2. Download either the blank release or the above example release (latest)
  3. Extract
  4. Run SysMana.exe
  5. If you downloaded the blank release, update to the latest version

It is recommended to download the example release because it is already mostly configured, and will demonstrate how to work with the various monitors and settings.

Usage

Setup

To open the Setup window right-click on SysMana and select the Setup option. From there you can add, edit, or delete meters, as well as modify other options. See the next sections for more details.

Blank Release

The blank release has no resource meters when it first runs, so you will see only a blank rectangle. Right-click it and select setup to begin adding meters to it. Just click Add and then set the new meter's data source and visualization.

Example Release

This release already has a bunch of resource meters, but you still need customize some of them. Open the Setup window by right-clicking on SysMana and selecting Setup, and then do the following:

  • Meters that track your system's available memory and disk space need to know the maximum value of those stats, so you need to select those two meters (the first two from the top in the list) and click the Reset button for each of them.
  • The Download speed tracker needs to know which network adapter to track and your maximum download speed (in kb/s), which you need to set manually. If you're unsure which network adapter to select try one and see if it registers any traffic.
  • If you use Take5 and want to visualize time remaining until your next break, then you need to browse for the file "break_countdown.txt" in Take5's directory and set it as a data source for the Text file meter (3rd from the top). If you don't use it, you can delete that meter.
  • If you use Wallcreeper and want to display current weather, you need to browse for the file "weather_status.txt" in Wallcreeper's directory and set it as a data source for the other Text file meter (the penultimate one). If you don't use it, you can delete that meter.

Optional customization:

  • The Recycle bin size meter's max. value is set to 10 GB by default, but you can change that if you wish.
  • If your available disk space is chronically low, the HP orb will always be practically empty. A better solution might be to change the max. value to a critically low number (like 15 GB) so the orb's rendering will scale better.
  • The Dota-style clock's appearance can be modified, and sound notifications turned off.
  • Also note that the font used in the above screenshot (for the clock digits) might not be on your computer, so your clock won't look the same. The font used is Hypatia Sans Pro (bold, size 11).
  • Some meters already have particular actions assigned to them but feel free to customize them.

Adding meters

Meters are added in the SysMana Setup window by clicking the Add button. This will create a new line reading "CPU usage" (the default meter); moving the line up or down will change the order of the meters (left to right).

The right side of the window contains many options to customize the meter:

  • Increasing left margin will distance the meter from the previous one. Negative values are also accepted, allowing two meters to overlap (or be positioned one above the other).
  • Top margin is the distance from the top of the window to the meter.
  • Data source is the resource the meter will be monitoring. Some data sources require the specification of a subsource, for example the Available disk space meter needs to know which disk to monitor.
  • Min. and max. values define the interval that will contain the data values. These values are usually automatically set, except in a few cases, like download and upload speed (which you need to set manually).
  • Visualization is the way SysMana will render the data. Each visualization presents its own set of options:
    • Text: prefix and postfix strings will be displayed with the data value.
    • Spinner: min. and max. spin speed are used to calculate how fast the image needs to spin based on the data value.
    • Progress bar: the foreground image will be drawn over the background image; their ratio is determined by the data value. The Progress vector defines the axis and direction the foreground will use to spread over the background.
    • Image sequence: images are added to the sequence with the Add images button. To remove or edit existing images click the Open images directory button and perform any modifications manually, then click the Reload button.
    • Graph: width is the total width of the graph; step width is the horizontal distance between two points on the graph; line width is the thickness of the graph line. Height is the total height of the graph. Step interval determines how often the graph will refresh. The texture is the image used to fill up either the top or bottom half of the graph.
    • Dota-style clock
  • To resize the images in this meter use the Image zoom option.
  • Click, Drag and drop, and Mouse wheel actions fire when the user interacts with the meter.

Screenshot: Options window

Dota-style clock

Dota-style clock is a visualization of the current time inspired by Dota 2. Besides displaying the time it also shows an orb with two halves (representing day and night) that slowly rotates as the day goes by. The sunset and sunrise are calculated based on your latitude, longitude, and time zone (which you can set manually or search by location).

The two orb halves also change their relative size based on the actual day/night ratio, which slowly changes with the seasons. Note that hovering the mouse cursor over the clock will display the orb in its entirety, which makes the day/night ratio easier to see.

Screenshot GIF: hovering the mouse over the clock

Four times a year (the equinoxes and solstices) the day/night orb is drawn using special textures. The clock also supports playing a sound when it is sunrise or sunset (by default the sounds are Dota 2 assets). All of the textures and sounds can be changed by replacing the files in the "imgs\dota_clock" folder.

Other options

To change SysMana's location just move it around the screen (it will remember the new position).

The right-click context menu has the option On Top: this makes SysMana on top of all other windows and is necessary to have if you want to position the meters over your taskbar. It temporarily turns off when the user is viewing a fullscreen application, or when the user clicks anywhere on the taskbar.

The General Options tab under SysMana Setup has access to other options, such as: background transparency, text font, vertical alignment, running SysMana when Windows boots, etc.

Actions

Each resource meter can perform an action when you click on them:

  • Open Task Manager, Control Panel, Recycle Bin, Power Options, etc.
  • Run program/file
  • Open webpage

A meter can also perform an action when you drag & drop a file onto it:

  • Send the file to the Recycle Bin
  • Copy or move the file to specified directory
  • Run the file

You can enable volume control via the mouse wheel, which is useful when combined with a meter that displays the current volume.

Note that you can view the exact data value by moving the mouse cursor over a meter.

Credits