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
Last revisionBoth sides next revision
dev:monitor-plugin [2013/03/19 16:31] – [Essential] hjudtdev:monitor-plugin [2013/03/23 12:49] – [Sample API 2] nick
Line 92: Line 92:
     * (Monitor-UI should draw the "progress-bar" on top of the icon, so that it is visible even if only icon is shown).     * (Monitor-UI should draw the "progress-bar" on top of the icon, so that it is visible even if only icon is shown).
   * Monitor-UI or panel should generate periodic (configurable?) events for polling external events that are then propagated to Monito-logic objects. Doing this centrally in one place, reduces the number of CPU wake-ups.   * Monitor-UI or panel should generate periodic (configurable?) events for polling external events that are then propagated to Monito-logic objects. Doing this centrally in one place, reduces the number of CPU wake-ups.
 +    * The idea is nice and I thought about that too some time ago, but then there are plugins that update their widgets quite frequently and more frequently than others, so the questions here are more like: "Is it worth all the engineering? Does it really make a noticeable difference?" Maybe it makes a difference in powersave mode, if such a mode is planned. But how big are the gains in reality? One positive side-effect would be that all plugins update at once, which might perhaps look better and less chaotic, I'm not sure. On the other hand, could it lead to bad effects when all plugins update at the same time (jerkiness,...)? I'm all in for a central place to configure or enable general powersave mode, however. But then the plugins themselves might need to decide how to implement powersaving.  --- //[[h.judt@gmx.at|Harald Judt]] 2013/03/19 21:25//
   * Decision needed: Font size and color selectable in the panel or in the plugin?  --- //[[h.judt@gmx.at|Harald Judt]] 2013/03/19 16:10//   * Decision needed: Font size and color selectable in the panel or in the plugin?  --- //[[h.judt@gmx.at|Harald Judt]] 2013/03/19 16:10//
   * A recommendation: we should avoid "setters", "updaters" etc. in Monitor-logic API in favor of "getters" and signals - this makes both sides of the API deal with only its own tasks.   * A recommendation: we should avoid "setters", "updaters" etc. in Monitor-logic API in favor of "getters" and signals - this makes both sides of the API deal with only its own tasks.
-  * Currently without a use-case, but perhaps be useful: Support reacting to external signals, e.g. via D-Bus?  --- //[[h.judt@gmx.at|Harald Judt]] 2013/03/19 16:18//+  * Currently without a use-case, but perhaps it could be useful: Support reacting to external signals, e.g. via D-Bus?  --- //[[h.judt@gmx.at|Harald Judt]] 2013/03/19 16:18// 
 +  * Not sure this belongs here, but... as an alternative to making a plugin "small", could it somehow be achieved that a plugin can occupy more than one row but still have the "small" properties and so share space with another plugin?  --- //[[h.judt@gmx.at|Harald Judt]] 2013/03/19 21:13// 
 ====== UI mockups ====== ====== UI mockups ======
  
Line 228: Line 231:
      
  
 +====== Sample API 2 ======
 +
 +http://users.xfce.org/~nick/proposal/indicator-api/
 +
 +  * Idea is the plugin shows preferences for the widgets:
 +    * set their position, therefore the static names for both multiple items (in case of example the sysload plugin), but also the position of the indicator items (by default icon/progressbar, label).
 +    * Plugins can pack a widget (vbox or a single frame) for the plugin specific settings.
 +    * Color settings for progressbar and label.
 +    * Graph appearance.
 +  * An option would be a xfce_panel_indicator_item_add_width (XfcePanelIndicatorItem *item, const gchar *name, const gchar *display_name, GtkWidget *widget); to pack custom widgets. No idea if that is really useful and would affect the 'standardization' we try to accomplish here.
 +  * Plugin is responsible for the updates (so its own gdk timeout).
 +  * A graph widget could be a nice addition. It would at least merge the cpugraph and sysload plugins, making them both more functional (also graph of memory/swap usage), but also the netload and diskperf plugin would benefit. Bit of fancy cairo and transparency wouldn't hurt here :-).