
WaterMark by Mathieu Villegas <walloo13@yahoo.ca>

This screenlet is simple screenlet which can display several information
in a light way, like:

    - CPU load
    - multi CPU/core load (up to 16 core)
    - list of more CPU consuming processes
    - memory and swap load
    - network usage (no configuration required)
    - Wifi ESSID and signal quality (no configuration required)
    - all temperature, fan and electric sensors (support lm_sensors, temperature from ACPI sensors, temperature from nvidia video cards, temperature and fan from ibm acpi, and hard drive temperature from hddtemp)
    - hard disk usage
    - Analog and digital clock
    - Battery state and global capacity
    - computer software fans control

Design need to be improved, and new functionalities added.


USAGE:

When you start Watermark for the first time, it will display the CPU meter.
You can switch to memory meter using the screenlet properties panel.
If you want to use both CPU meter and memory meter at the same time,
you just have to double-click on the screenlet icon in screenlet manager
to launch a new session you will be able to fully configure.


ABOUT SYSTEM INFORMATION AND EXTERNAL IP:
=========================================
To retrieve the external IP, Watermark screenlet connect to the watermark website (under construction) every 5 minutes.
The web page the screenlet is downloading is:
http://watermark.tuxfamily.org/ip.php

The content of ip.php file is:
<?php
echo $_SERVER['REMOTE_ADDR'];
?>

Naturally, no specific log is done on this web page. You can freely and anonymously use it.
When "External IP" option or "System information" option are not activated, no network connection is established with WaterMark website.


ABOUT SYSTEM INFORMATION AND LOCAL IP:
=========================================
To retrieve the local ip, WaterMark screenlet create a socket connection to watermark.tuxfamily.org, then close it immediately without downloading or uploading any data.
This way of doing allows WaterMark to automatically know the  ip used to connect to even if you change the network card you use (ethernet, wifi, etc..), without needing any configuration.
The socket is created every 5 minutes.


ABOUT NETWORK LOAD:
===================
To be able to see a progress bar which display the percentage of your available bandwidth you use, you have to set the maximum speed for upload and download your network connection can support in the "Network Load" tab of the property panel.


ABOUT LM-SENSORS:
=================
To install lm-sensors on your computer, install it from your distribution repository.
For example, for Ubuntu, run:
#sudo apt-get install lm-sensors

Then, configure it with using the following command:
#sudo sensors-detect

Answer "yes" to all questions.

When done, just reboot.
Then, all your sensors detected by lm-sensors will be displayed in the "sensors" combo box of thee WaterMark property page.



ABOUT NVIDIA GPU TEMPERATURE SENSORS:
=====================================
To allow Watermark screenlet to support nvidia GPU sensors, you have to install nvidia gpu proprietary drivers and have "nvidia-settings" in your path.
AS soon as it is installed, restart Watermark screenlets, and nvidia sensors should be displayed in the "sensors" combo box of thee WaterMark property page.

If no thermal information is available with nvidia driver installed, please use nvclock (apt-get install nvclock). The temperature of your GPU should be available in sensors list.
WARNING: For owners of Nvidia 8800GT (and maybe others) cards, the temperature provided by nvclock is inaccurate (really to low).
To have an accurate result, please, look at this link: http://computersstoneage.blogspot.com/2008/06/asus-nvidia-8800-gt-gpu-temperature.html

ABOUT HDDTEMP USE:
==================
To display hard drive temperature, hddtemp daemon must run and accept connections from 127.0.0.1 on port 7634.
nc software must be in your path.
To know if one of your drive has a temperature sensor and if hddtemp daemon works, run: nc 127.0.0.1 7634



ABOUT CLOCK CUSTOMIZATION STRING:
=================================
In customization string, '%' characters followed by a specific letter will be replaced by time and date values as follow:

%a     Locale's abbreviated weekday name.    
%A     Locale's full weekday name.    
%b     Locale's abbreviated month name.    
%B     Locale's full month name.    
%c     Locale's appropriate date and time representation.    
%d     Day of the month as a decimal number [01,31].    
%H     Hour (24-hour clock) as a decimal number [00,23].    
%I     Hour (12-hour clock) as a decimal number [01,12].    
%j     Day of the year as a decimal number [001,366].    
%m     Month as a decimal number [01,12].    
%M     Minute as a decimal number [00,59].    
%p     Locale's equivalent of either AM or PM.
%S     Second as a decimal number [00,61].
%U     Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0.
%w     Weekday as a decimal number [0(Sunday),6].    
%W     Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0.
%x     Locale's appropriate date representation.    
%X     Locale's appropriate time representation.    
%y     Year without century as a decimal number [00,99].    
%Y     Year with century as a decimal number.    
%Z     Time zone name (no characters if no time zone exists).    
%%     A literal "%" character.
