DSMonitor
=========

DSMonitor monitors the free space on your hard drives or network 
drives and alerts the user if the free space drops below a set
threshold. It can also predict when this will happen, useful for 
example when transferring an unknown amount of data over a long 
time period.


Configuration
=============

The settings are read from dsmonitor.ini and gui.ini. You can mix 
settings between the files. GUI settings are separated from the main
monitoring settings for clarity.

An ini file consists of either or both of the main sections: "gui" 
and "settings". All sections end with the token "end".

	gui
	  font normal
	    name "Verdana"
	    size 15
	    weight 700
	    color 0,0,128
	  end
	  
	  background 255,255,255
	end
	
	# monitoring settings follow
	
	settings
	  monitor
	    path "C:\"
	  end
	end
	
The above starts a GUI section that contains one font definition
and a background color definition. The line starting with a hash is
a comment. The rest defines one path to be monitored in the settings 
section. 

Definitions of individual sections follow. Text inside angle brackets
denote mandatory sections, parameters or values and text inside square
brackets denote optional. Pipe delimits options. All capitalized words
are considered as literal options.

E.g.: [parameter <ON|OFF>]  
  # parameter named "parameter" has to be set with a value of "ON" or 
  "OFF", or not set at all (i.e. the whole line left out completely).

Byte amount definitions can be made as follows: 1024B equals 1KB, 1024MB 
equals 1GB. Time defintions can similarly be abbreviated: 60min equals
1hour, 7days equals 1week. Only the first character of the unit counts.

For values with spaces, use quotation marks to delimit the value.
  

Gui section:
============

Defines GUI settings.

  gui
    [font section]
    [background <R>,<G>,<B>]
    [graph <R>,<G>,<B>]
  end


Font section:
=============

Defines fonts to be used in the GUI.

  font <normal|title|alert|small|offline>
    [name <font name>]
    [size <point size>]
    [weight <font weight>]
    [color <R>,<G>,<B>]
  end

 name - font name, e.g. "Arial".
 size - point size
 weight - font weight, i.e. 1000 is bold
 color - font color RGB definition, values are between 0 and 255
 
 
Monitor section:
================

Defines 

  monitor
    path <path>
    [removable]
    [any number of alert sections]
  end

 path - path to be monitored, can be a network path, e.g. "C:\" or 
        "\\COMPUTER\Shared" 
 removable - Makes DSMonitor treat the path as a removable drive
             or a network path that is not always available. Stops
             error messages when starting the program when the path
             is not available at startup. Also makes the GUI show
             the path greyed in case it is not available.

Alert section:
==============

  alert
    [type <POPUP|TRAY|EXEC|NONE>]
    [threshold <bytes>]
    [time <time>]
    [delay <time>]
    [once]
    [message <message>]
    [exec_path <executable path>]
    [exec_param <parameters>]
    [exec_dir <working directory>]
    [exec_window <SHOW|HIDE>]
  end
  
 type - set the alert type
 threshold - the threshold at which the alert will be triggered 
             (default is zero, no free space left at all)
 time - Time threshold of the alert, e.g. 60min will trigger the
        alert 60 minutes earlier the free space will drop under 
        the threshold (predicted).
 delay - Time between alerts
 once - Trigger alert only once (overrides delay)
 message - custom message for the popup alert
 exec_path - path to the executable you want to run
 exec_param - parameters the executable
 exec_dir - working directory for the executable
 exec_window - show or hide executable
 