It can be confusing if a plugin can be only inside of a horizontal panel, but not in a vertical one. Plus - what if it was added to a horizontal panel, and then the panel orientation was changed - it will disappear - not intuitive at all.

What I like in plasma widgets - you can use the same widgets on the desktop and on any panel. Container (panel or desktop) says to a plugin what constraints are on init - whether its horizontal panel (and plugin can expand horizontally, but restricted vertically), vertical or desktop (where it can grow both directions). BTW KDE took the second approach - dictating size to a plugin.

I like the current implementation, though I liked hybrid (with min and max) idea more.

I must warn everyone, that rotating widgets in Qt - is quite a complicated task (I made it for clock plugin), plus there is big penalty in performance - the whole widget is drawn twice!


On 7 August 2013 02:04, Александр Соколов <> wrote:
2013/8/6 2noob2banoob <>
I think the most elegant way would be a hybrid way, where the user can set a minimum and maximum size and within those bounds the panel tries to automatically adjust its size to the sizehint of plugins.
I do not see sense to have 2 parameters, it will only complicate the algorithm and confuse the user.

2013/8/6 PCMan <>

I got hit by totally the same problem when I tried to do lxpanel in the past.
What we did it, change the orientation of the label, so it can be
shown rotated and the panel remains thin. Of course, this is ugly and
the label became less readable.
This, however, is the only way to make the panel thin and make the
content visible at the same time.
Just tried Windows and it has exactly the same problem. When you make
the panel vertical, the date string determines the total thickness of
the panel.

IMHO, it's better to let the applets determine how important their contents are.
If the applet claim that its content can shrink, then its size is
determined by the panel, and the applet scale its content to adopt the
new size.
Otherwise, if an applet claim that it's not resizable at all, then the
panel respect its special needs.
This kind of claim can be done with a flag which can be set on an applet.
By default, the panel manage the size and ask the child applets to
resize their content to fit the panel, but if some applets ask for a
minimal size explicitly, the panel respect them and do not try to
shrink them.

The applet can also expose a flag telling the panel whether it can
accept a vertical orientation or not. If its content can be rotated
and it supports vertical orientation, then the panel can make the
applet vertical and remains thin.

So, we continue to use the current algorithm.
Any additional flags don't need, an applet can use the minimumSize, maximumSize minimumSizeHint, sizeHint, sizePolicy. This is enough to implement the described algorithm. And it enough to destroy the developer's mind:)

Best regards,

Get your SQL database under version control now!
Version control is standard for application code, but databases havent
caught up. So what steps can you take to put your SQL databases under
version control? Why should you start doing it? Read more to find out.
Lxde-list mailing list