This is an old revision of the document!
This page is very much a work-in-progress at the moment. Feel free to contribute.
Rationale
UI consistency is an important aspect of a mature desktop like Xfce. On the other hand, there are tons of panel plugins out there, developed by many different people. A written set of UI guidelines will help those developers ensure their plugins maintain some basic level of consistency.
Process
New guidelines should be submitted as a draft at the bottom of the page, in the “Draft Guidelines” section. Once all the core plugins follow the guideline (in trunk), the guideline may be promoted to the “Mature Guidelines” section of the page. Promoting drafts prematurely will only result in weakening the value of this document, so please refrain from doing so.
Plugin Classes
Most guidelines apply differently based on the plugin class. (“Class” here means bin or category - it is not used in the GObject sense). These classes are specified here: (need screenshots, examples, and better descriptions)
Class B: Button
Button with [image label], [image] or [label]
sometimes opening a menu
examples: menu, places, launcher, window list, …
Class I: Input
Button with [image] [input field]
database queries, command execution, etc from the panel
examples: verve, dict(ionary)
Class M: Monitor
[image] [label] [meter] [value reading]
the resource monitoring ones
examples: system load monitor, battery monitor
Class G: Grid
array of buttons with [image] or [label] or [image label]
examples: icon box, task list, system tray
Class O: Other
examples: pager, xfapplet
Mature Guidelines
(none yet)
Draft Guidelines
Spacing Guideline
This text is revision 1 of this guideline.
Display an image inside a button
- Plugins using it: launcher (xfce4-panel)
- Set the size of the image to:
size of button - MAX (GtkWidget->style->xthickness, GtkWidget->style->ythickness)
Display a label
- Plugins using it: menu (xfdesktop)
- Put the label inside a box and use a spacing of 4 on that box — Mike Massonnet 2007/12/16 06:48 can we make this without a box?
Mix several widgets side by side
- Plugins using it: xfce4-mixer, xfce4-systemload-plugin
- Use 2px spacing between the label/icon/value/monitor/…
Monitor Layout Guideline
This text is revision 2 of this guideline.
Many plugins display a monitor and give the user the option of showing a label, a value reading, or both. For example, the systemload plugin can show labels and monitors for CPU, memory, and swap usage.
Order to display widgets
The order of the widgets, starting from the left or the top according to the panel orientation, is the following:
- Icon
- Name
- Monitor
- Value
Text Guideline
This text is revision 1 of this guideline.
Name of the plugin
- Use a short label to conserve space
- Use capitalization like a title (e.g., “My Button”)
Name of a monitor
- Use a short label to conserve space. Abbreviations are acceptable
- Use all lowercase letters (e.g., “cpu”)
- Omit spaces in acronyms and abbreviations (e.g., “mem”)
— Mike Massonnet 2007/12/16 07:13 at some point I liked to modify the systemload to show Cpu and Mem instead
Display a value
- Don't include too much precision (e.g., “95.324234%” is bad)
- Include units if they add no more than 3 characters to the string (e.g., “30min”)