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:26] 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 ===