[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