Xfce Wiki

Sub domains
 

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.

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 (GtkButton->style->xthickness, GtkButton->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:

  1. Icon
  2. Name
  3. Monitor
  4. Value

Text Guideline

This text is revision 1 of this guideline.

  • Display a static label on the panel to explain an interactive widget
    • Use a short label to conserve space
    • Use capitalization like a title (e.g., “My Button”)
  • Display a static label on the panel to explain 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 reading next to a monitor
    • 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”)