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.

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:

  1. Icon
  2. Name
  3. Monitor
  4. 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”)