[Goodies-dev] Panel plugins HIG

Harald Judt h.judt at gmx.at
Wed May 30 11:44:23 CEST 2012


Am 29.05.2012 21:47, schrieb Landry Breuil:
> - some progressbars dont size the same - i agree we should have a
> #define progressbar_width (set to 8 ?), but which height ? Imo, the
> gtk_widget_set_size_request() call should ONLY take care of the width
> and let -1 for the other dimension, so that the size comes from the
> parent widget. For example systemload does (BORDER, size - BORDER),
> that looks wrong to me.

I agree. Progress bars are not like an icon that's going to be scaled. 
So width=8, height=-1 in horizontal mode or width=-1, height=8 in 
vertical and deskbar mode would be fine.

We need to clean up the code of many plugins anyway, the #defined BORDER 
is (ab)used in many different cases.

[...]
> - imo , 20px panels are unusable (font too small, icons squeezed,
> progressbar ridiculous...) 25 or 26 should be a 'minimum' if one wants
> to show monitors..
> - Some plugins dont set 'small' property and look awful on 2 rows
> panels  (fsguard, timeout) we still have to decide whats the guideline
> for setting small or not. Personally, i think small should have been
> set as defaulting to true. Most plugins look ugly by default on
> multiple-rows panels

Those plugins don't get scaled anyway, so I think they should always be 
small and occupy only 1 row. Maybe setting a plugin not small by default 
was a decision for compatibility? Whether that decision was wrong or not 
does not matter now, we will have to change the plugins anyway.

The whole point of multiple rows was to make efficient use of space. A 
plugin may span multiple rows if it doesn't fit on one row. For example, 
the weather plugin could show three labels at once when not small 
instead of one and would occupy three rows then. Small or not is the 
decision of the plugin author.

> - when in vertical mode, labels should be angled vertically to display
> fine (but keep them horizontal to please people still using 4.8
> orientation-changed mode..). I assume if people wants labels
> horizontal, they'll use deskbar mode with a wide enough panel or with
> 2 or 3 rows.

That's right about the labels, but I wonder whether the same can be said 
about the progressbars. Maybe it would have been more efficient to have 
single-row plugins with vertical progressbars in deskbar mode. Maybe one 
should rethink that decision?

Vertical mode feels weird anyway and I'm pretty sure I'd never use it. 
Ideally the rotation of widgets would be made a user decision. Not that 
implementing this would be much fun.

[...]

> Addressed in the panel ->  api change ->  not going to happen in 4.10 :)

Also it won't help as the external plugins are supposed to support older 
versions of the panel. That would be another bunch of #ifdefs, and I 
can't see them anymore.

> Or then we also want a panel-wide setting for
> - label padding
> - plugin border
> - progressbar size
> - progressbar orientation
> - etc etc...

In fact that would be fine as it , though you wouldn't need "progressbar 
orientation". That makes me think if we shouldn't consider xfconf some time.

>> In fact I'm not all thrilled by the idea of having small/medium/big
>> paddings. What will be missing next is the size of the composite
>> widgets (labels and progressbars).
>
> There are improvements to do, and making the border size variable
> is a good idea, i'm just not sure we need 3 or 4 different sizes..
> We need to settle on something, test it with all plugins and see how
> it looks. Screenshots are always better than words thrown around..

If we do not care about smaller panels than 20 pixel, then my test cases 
would be met with BORDER = (panel_size > 26 ? 2 : 1). That's still an 
improvement over no border. Otherwise, we need to use some formula to 
calculate the value. I guess we'd be the first to use polynomial 
interpolation in panel plugins? ;-)

Similarly, we won't need to deal with extremely big panel sizes (show me 
one user who chooses the maximum of 128). Currently, we don't have 
screens with 400 dpi or extremely high resolutions, though that might 
perhaps become an issue in the future.

Harald

-- 
`Experience is the best teacher.'


More information about the Goodies-dev mailing list