README for xfce version 4.x =========================== WHAT IS IT ? ------------ 'xfce' is the panel of the XFce Desktop Environment. It is modeled after the CDE panel and, of course, previous versions of xfce. This version is based on GTK2 and should have all the advantages that come with this new and improved toolkit (see http://www.gtk.org). WHAT'S NEW ? ------------ Apart from the toolkit changes the underlying framework of the panel has also changed completely. All interactions with the window manager take place through the new window manager hints as defined on http://www.freedesktop.org. This means that you will need a compliant window manager for xfce to function properly (preferably xfwm4 ;-). The panel can now hold normal buttons and dynamic modules. INFO FOR DEVELOPERS =================== If you are interested in helping with the development of xfce4 the best place to start reading is global.h which hold the type definitions of the different data structures used. The panel design is a hierarchy of components: - Panel (file xfce.c): Global settings and panel framework. - Central panel (file central.c): Minibuttons and desktop switcher. - Side panels (file side.c): Left and right panel containing several panel groups. A panel group consists of a top widget and a bottom widget. The top widget is usually a popup button, but for the outermost groups it is a move handle. The bottom widget is either a panel item (a button with an icon) or a panel module (dynamically updated). - Panel popup (file popup.c): Popup button and popup menu containing menu items. - Panel item (file item.c): Tradioanl panel item consisting of an icon button, which starts an application. - Panel module (files module.c and builtins.c): New panel control, which is dynamically updated. Modules can be builtin or external using the gmodule interface. Other files: - callbacks.c: most callback functions are defined here. - dialogs.c: panel configuration dialogs. - item_dialog.c: configuration dialog for item/module and menuitem - xfce_support.c: convenience dialogs and general convenience functions. - move.c: moveing the panel around. - settings.c: reading and writing panel configuration. - wmhints.c: window manager hints