[Discussion] - Plasma Panels Future Enhancements?

David Edmundson david at davidedmundson.co.uk
Sat Nov 12 12:41:38 UTC 2016


On Fri, Nov 11, 2016 at 4:15 PM, Michail Vourlakos <mvourlakos at gmail.com>
wrote:

> Hello everyone,
>
>
> I am working in the plasma panels codepage these days, trying to enhance
> their features and I would like your opinion in some aspects of it. This
> effort is based a lot in the Now Dock Panel and its needs. I have sent some
> feature requests and lately I have sent some patches for review. I have the
> opinion that all the future enhancements should go inside plasma and kwin
> instead of keeping all the workarounds outside. I have done that mistake in
> the past :). So I am here and I am willing to work on the following but I
> will need your knowledge and guidance in some of them. Of course you are
> them who are going to decide if this is worth it...
>
>
> 1. Transparent Panels
>
> https://bugs.kde.org/show_bug.cgi?id=368384
>
> https://phabricator.kde.org/D3282
>
> https://phabricator.kde.org/D3283
>
>
> 2. Change Panel's Thickness from client side
>
> As I have understood it, the plasma panels change their thickness only by
> the user setting its value. I would like this to be able to be changed from
> the panel's client qml codepage. I tried to expose thickness with
> Layout.preferredWidth and preferredHeight but this didnt go quite well
> because it breaks current implementatation. I tried
> containment.implicitWidth... but this isnt exposed at all. Do you have any
> ideas how this should be implemented in order to not break current
> implementation?
>
>
> How will that help your use case of the dock?
You control the containment in a panel, but you're not changing Panel.qml
itself.

Everything should be exposed to the client already as the "user setting its
value" is just the panel config, another QML file with access to the same
panelview properties as panel does.

In terms of Panel dimensions  we refer to thickness and length.
When the panel is at the top or bottom of the screen, thickness is height
and length is width. When the panel is on the left or right side, it's the
opposite.

Thickness is self-explanatory

Length can be confusing:
 - length should be the implicit size of the contents of the panel
containment want to be.
 - min/max length are the

panelview will set the panel to length, but constrained to min/max length
and then also bound to the size of the screen.


3. "Real" Panel Transparency
>
> Docks are panels that not only have a visual transparent background but
> also they pass the mouse events to go underneath their transparent areas.
> This is also the way Plank is doing it. It creates a big window that for
> the transparent background leaves all the mouse events go underneath. I
> believe plasma panels are Qt windows managed from KWin, I think Qt is
> offering this feature by setting some flags for the window. Do you have any
> ideas for this?
>
> Plasma panels are just normal windows, so a mask could be set. Would have
to be on the C++ side in panelview



> regards,
>
> michail
>
>
> P.S. I am willing to work on the above and I am not in any hurry. I would
> like just the above to be offered from our main codepage.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20161112/9a3e5f83/attachment.html>


More information about the Plasma-devel mailing list