Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
panel-ui-guidelines [2007/12/16 08:20] mikepanel-ui-guidelines [2007/12/16 18:02] – Nick: "it's GtkWidget->style" ongardie
Line 3: Line 3:
 ===== Rationale ===== ===== 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. 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 ===== ===== 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. 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 ====
 +<file>Button with [image label], [image] or [label]</file>
 +
 +sometimes opening a menu
 +
 +examples: menu, places, launcher, window list, ...
 +
 +==== Class I: Input ====
 +<file>Button with [image] [input field]</file>
 +
 +database queries, command execution, etc from the panel
 +
 +examples: verve, dict(ionary)
 +
 +==== Class M: Monitor ====
 +<file>[image] [label] [meter] [value reading]</file>
 +
 +the resource monitoring ones
 +
 +examples: system load monitor, battery monitor
 +
 +==== Class G: Grid ====
 +<file>array of buttons with [image] or [label] or [image label]</file>
 +
 +examples: icon box, task list, system tray
 +
 +==== Class O: Other ====
 +examples: pager, xfapplet
  
 ===== Mature Guidelines ===== ===== Mature Guidelines =====
Line 12: Line 46:
  
 ===== Draft Guidelines ===== ===== Draft Guidelines =====
 +
  
  
Line 20: Line 55:
 === Display an image inside a button === === Display an image inside a button ===
   * Plugins using it: //launcher (xfce4-panel)//   * Plugins using it: //launcher (xfce4-panel)//
-  * Set the size of the image to:\\ ''%%size of button - MAX (GtkButton->style->xthickness, GtkButton->style->ythickness)%%''+  * Set the size of the image to:\\ ''%%size of button - MAX (GtkWidget->style->xthickness, GtkWidget->style->ythickness)%%''
  
 === Display a label === === Display a label ===
Line 43: Line 78:
   - Monitor   - Monitor
   - Value   - Value
 +
  
  
Line 48: Line 84:
 This text is revision 1 of this guideline. This text is revision 1 of this guideline.
  
-  * Display a static label on the panel to explain an interactive widget +=== Name of the plugin === 
-    * Use a short label to conserve space +  * Use a short label to conserve space 
-    * Use capitalization like a title (e.g., "My Button")+  * Use capitalization like a title (e.g., "My Button")
  
-  * Display a static label on the panel to explain a monitor +=== Name of a monitor === 
-    * Use a short label to conserve space. Abbreviations are acceptable +  * Use a short label to conserve space. Abbreviations are acceptable 
-    * Use all lowercase letters (e.g., "cpu"+  * Use all lowercase letters (e.g., "cpu"
-    * Omit spaces in acronyms and abbreviations (e.g., "mem")+  * Omit spaces in acronyms and abbreviations (e.g., "mem")
  --- //[[mmassonnet@gmail.com|Mike Massonnet]] 2007/12/16 07:13 at some point I liked to modify the systemload to show Cpu and Mem instead :-|//  --- //[[mmassonnet@gmail.com|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 +=== Display a value === 
-    * Don't include too much precision (e.g., "95.324234%" is bad) +  * 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")+  * Include units if they add no more than 3 characters to the string (e.g., "30min")