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.
  • Core plugins implementing this guideline: ???
  • Additional plugins implementing this guideline: places
  • Plugins that display a single icon to the user:
    • e.g., launchers
    • Use 1px border around the icon. (This is the default border width for a GTK+ button.)
  • Plugins that display a button and a label in a horizontal (v.) box for horizontal (v.) panels:
    • e.g., menu (when showing label)
    • Use a spacing of 4 on that box.
  • Plugins that display a label, icon, or value reading next to a “monitor”
    • e.g., system load monitor, volume control
    • Use 2px spacing between the label/icon/value reading and the monitor.
Monitor Layout Guideline
  • This text is revision 1 of this guideline.
  • Core plugins implementing this guideline: ???
  • Additional plugins implementing this guideline: ???
  • Many plugins display a monitor (progress bar) and give the user the option of showing a label, a value reading, or both. For example, the system load monitor can show labels and monitors for CPU, memory, and swap usage.
  • For horizontal panels:
    • The label, if shown, should be placed to the left of the monitor.
    • The value reading, if shown, should be placed to the right of the monitor.
  • For vertical panels:
    • The label, if shown, should be placed above the monitor.
    • The value reading, if shown, should be placed below the monitor.
Text Guideline
  • This text is revision 1 of this guideline.
  • Core plugins implementing this guideline: ???
  • Additional plugins implementing this guideline: ???
  • Plugins that 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”)
  • Plugins that 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”)
  • Plugins that 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”)