Gtk+2 panel is a bleeding edge panel heavily relying on the gtk+2 stack.
This project adopted the NRSI principle (No Rocket Science Involved): this means gtk2panel does not add anything new to the software panorama but instead tries to reuse whatever the gtk world can offer. Anyway all the dependencies, apart from Gtk+2, are (and hopefully will be) optionals.
The design of this project is quite well structured. It is composed of three distinct parts:
|A shared library containing all the GtkWidget that can be accessed to build a decent panel. Depending on the presence of the optional dependencies, some widget could be or not included in the library. In any case, the resulting library can be easily used outside this project: using this library is exactly like using gtk+ itsself.|
|A library abstracting the OS resources needed by libgpwidgets, such as the volume or the CPU state. This is (or, better, will be) the place where all the OS dependent code will go. Actually, it is not used at all: libgpwidgets is hardcoding a linux implementation.|
|This is the panel frontend. It is basically a program that inspects a GtkBuilder file, looking for any GpwPanel widget and showing them. After this, it starts a Gtk+ loop and that's all: job terminated. It has a command line option to change the default GtkBuilder file to load and the possibility to merge a custom RC file but its logic is really trivial: the resulting gtk2panel binary is less than 10Kb.|
Being a bare panel, gtk2panel supports:
- no fancy stuff: no bouncing icons, no reflections, no visual effects in general but only good old Gtk+2 calls with all the fanciness you can squeeze from a theme engine;
- no runtime configuration;
- deep off-line configuration: the panel relies on GtkBuilder XML files and, as such, could accept any valid GObject-based widget;
- glade-3 support: the widgets provided throught libgpwidgets will be available from glade-3 and can be freely used in every possible way; the build system takes care of installing the catalogs if the glade-3 package is properly installed on your system and gtk2panel has been compiled with glade support enabled.
The documentation of the latest release can be browsed online at the gtk2panel home page.