--------------------------------------------------------------------------------
  Screenlets v0.0.7 - (c) 2007 by RYX (aka Rico Pfaus) <ryx@ryxperience.com>
--------------------------------------------------------------------------------

This software is released under the GNU Public License. You are free
to modify and copy this software unless you keep the above coypright 
notice and don' pretend this to be your work. The author gives you NO 
warranties at all.



--------------------------------------------------------------------------------
+ INFO:
--------------------------------------------------------------------------------
Screenlets are small owner-drawn applications that can be described as
"the virtual representation of things lying/standing around on your desk".
Sticknotes, clocks, rulers, ... the possibilities are endless. The goal of the 
Screenlets is to simplify the creation of fully themeable mini-apps that
each solve basic desktop-work-related needs and generally improve the 
usability and eye-candy of the modern Linux-desktop.

Screenlets are in fact shaped Gtk-Windows that take care of drawing
themselves. They contain a window a menu and (optionally) a theme
(of type ScreenletTheme). Screenlets also offer a simple way of
handling/changing settings/options (for both - user and developer).

Screenlets strongly follow the UNIX-idea of modularization and having one 
tool for one purpose. They are in some way the modern evolution of that
idea (ported from commandline-tools to desktop-apps).

See the CHANGELOG for more information on this (and other) release(s).



--------------------------------------------------------------------------------
+ INSTALLATION:
--------------------------------------------------------------------------------
Extract the archive into some directory. Navigate to that directory. 
As root-user run "python setup.py install" (Ubuntu users just add a 
leading "sudo" to install).

Alternatively, you can use the Makefile and simply run "make install" 
(as root-user). 



--------------------------------------------------------------------------------
+ USAGE:
--------------------------------------------------------------------------------
Since v0.0.7 the screenlets need to be installed system-wide. To start the
screenlets-daemon enter "screenletsd start" into a terminal. To add a
screenlet to the running daemon, enter "screenletsd add <name>" 
where <name> is the Screenlet's classname without trailing "Screenlet" 
(e.g. like "Control" for ControlScreenlet or "Notes" for the NotesScreenlet).

Alternatively, you can run each Screenlet individually with (e.g):
"./ClockScreenlet.py" or "python -u ClockScreenlet.py". But for now, 
they are not restored as stand-alone applications when the daemon is 
restarted.

To generate the API-documentation, run "doxygen doxygen.conf" in the
root-folder of the package (maybe you need to install doxgen first) or 
simply run "make docs".



--------------------------------------------------------------------------------
+ KNOWN BUGS:
--------------------------------------------------------------------------------
- Stand-alone screenlets are not restored as stand-alone yet
- when switching to metacity and back to compiz the screenlet loses 
  its window-attributes (like sticky/widget)
- Screenlets have a memory-leak when switching themes that contain SVGs
- Windowlist: right-click on gedit-icon (and only gedit) causes segfault in 
  libwnck (wnck.create_window_menu())



--------------------------------------------------------------------------------
+ CODING/NAMING RULES (see ExampleScreenlet for an example):
  (NOTE: some of these may change until version 0.1.0 ...)
--------------------------------------------------------------------------------
- Not more than 80 chars per line.
- Tabs are 4 char-wide "\t"-characters.
- Classes MUST have a documentation-string.
- After class-headers's documentation, one separating line.
- Internal attributes MUST start with TWO leading underscores.
- Editable options NEVER have leading underscores.
- All functions that are no inherited event-handlers MUST
  have a documentation-string.
- Constructors of Screenlet-subclasses must implement the **keyword_args
  parameter as last argument to their __init__-function.
- All screenlet-files MUST have the name of the Screenlet-classes
  they contain (with a .py-extension).
- All Screenlets MUST have a head-comment containing license/author note,
  information and a TODO-list (optional).
- All Screenlets have to define the metainfo-attributes __name__, __desc__, 
  __version__ and __author__. These may be extended in the future.
- Screenlets need to be placed into a directory with their name in lowercase
  letters (without trailing "Screenlet"). This directory may contain a 
  "themes"-directory where the Screenlet's themes are stored.
- Screenlets should supply an icon named "icon.svg" within their directory.
- If a Screenlet uses themes, the first and initially loaded theme has to
  be named "default". Alternatively, you can add a static link to the themes
  directory, named "default", which then links to the default theme.
- All graphics within a theme MUST have the same size (for scale-support).



