 _________________
< Welcome to Helm >
 -----------------
    \
     \
                                   .::!!!!!!!:.
  .!!!!!:.                        .:!!!!!!!!!!!!
  ~~~~!!!!!!.                 .:!!!!!!!!!UWWW$$$
      :$$NWX!!:           .:!!!!!!XUWW$$$$$$$$$P
      $$$$$##WX!:      .<!!!!UW$$$$"  $$$$$$$$#
      $$$$$  $$$UX   :!!UW$$$$$$$$$   4$$$$$*
      ^$$$B  $$$$\     $$$$$$$$$$$$   d$$R"
        "*$bd$$$$      '*$$$$$$$$$$$o+#"
             """"          """""""


Introduction
------------

Helm is a system monitor released under GNU GPLv3.


Organization
------------

Basically Helm is a GTK+ window with root transparency. This window contain a
gtk.VBox. Each cell of this box contain a "widget" or a "view". A widget
contains a set of views. A view is the drawing of a "model". A model is the
information that we want to monitor.

There are various views. We can use any view to display any model. So we can
have an histogram for the cpu activity and a ring for the memory usage. Or vice
versa.


Configuration
-------------

If you want to customize helm, you must create the file
~/.config/helm/config.py. You can just copy the config.py provided with sources
and modify it. The default config import all the models/views/widgets and the
"run" method.

The sole purpose of this file is to call the "run" method with the width of the
GTK+ window and the list of widgets/views.

To instantiate a widget, you must give him a view class to use to display the
models.

To instantiate a view, you must give him a model instance.

The order in which you will give the widgets/views will establish the order in
which helm will display them.


Create your own models/views/widgets
------------------------------------

This is currently out of the scope of this documentation. So I can just give
you an advice: read the source code of helm. ;)

Another advice: you can write your models/views/widgets directly in your
config.py or in any other file in ~/.config/helm/ and import it into your
config.py. You do not have to modify helm to do this. :)


Bugs
----

* Does not take into account when we change the wallpaper.
* TraceBack if we move the window off screen.



Contact
-------

Website: http://helm.last-exile.org/
Jabber room: last-exile@muc.last-exile.org
