Skip to content
Snippets Groups Projects
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