README
======

PerlPanel is an attempt to build a useable, lean panel program (like
GNOME's gnome-panel and KDE's Kicker) in Perl, using Gtk2. There are
several reasons for this:

	1. I really enjoy programming with Gtk+ and Perl. It's neat.
	2. Using a popular language like Perl lowers the barrier to
	   entry, so a lot more people can contribute.
	3. It makes C purists go a funny shade of purple.
	4. Because there's nothing like it at the moment.
	5. Perl's built-in garbage collection and optimisation means
	   that it may well perform better on low-end systems than
	   similar programs.

A few tenets:

	1. Everything is OO.
	2. GNOME rocks, but not everyone likes or can use GNOME. So we
	   avoid using it and stick to pure Gtk[1].
	3. Sane defaults. Not everyone wants a CPU/eth meter by default.
	4. Everything (apart from these tenets) is subject to debate. If
	   something is broken in the panel/applet/config systems, then
	   we can fix it. I can't imagine a normal user will want to use
	   PerlPanel for a long time, so breaking compatability between
	   versions is no problem.

A few wahs, or, TODO:

	1. Support FreeDesktop icon themes for menus, applets, etc - this
	   would require implementing some of the XDG specifications in
	   Perl, since we don't want to use GnomeIconTheme.
	2. Drag-and-drop sorting of applets and icons in the IconBar would
	   be nice.
	3. Support for multiheaded systems - there is a way to kludge this
	   but a "proper" solution is more desirable.
	4. One day, all applets will be widgets in their own right, and
	   will inherit from a base class that will let us do neat things
	   like having standard pop-ups. Maybe the Panel will also be a
	   widget as well.
	5. Someone needs to work out how to place a shadow around the panel
	   without violating Fitt's Law[2].
	6. Translations are incomplete.

[1]: We use the Gnome2::Wnck library for the tasklist, show desktop
button and pager. However this module doesn't require the rest of the
Gnome2 modules - it's just named that way because it's maintained by the
GNOME developers.

[2]: See http://www.asktog.com/basics/firstPrinciples.html#fitts's%20law.

--
$Id: README,v 1.12 2004/04/05 22:02:29 jodrell Exp $
