luisbocanegra / plasma-panel-colorizer

Fully-featured widget to bring Latte-Dock and WM status bar customization features to the default KDE Plasma panel
https://store.kde.org/p/2130967
GNU General Public License v3.0
109 stars 0 forks source link

Panel shadow on non floating panel #43

Open Yankwerks opened 2 months ago

Yankwerks commented 2 months ago

Currently when using the "Hide" panel background option, its original shadow is also hidden. This allows the panel to fully match the window decorations background color, as if it was also part of it: Screenshot_20240421_231205

However it comes with the side effect of making that same panel flat and dull when no window is maximized, due to its abstinence of a shadow: Screenshot_20240421_231223

This can be fixed by using colorizer's panel shadow option, however this option only works when the panel is of the floating type: Screenshot_20240421_231244

luisbocanegra commented 2 months ago

Yeah, I noticed this too. Unfortunately the shadows are part of the panel background svg, so I am not sure if I can make my own shadow to draw outside the panel area. Will have to look into this.

Something I also wish was possible is to create my own background blurs and contrast but there doesn't seem to be a way to do that either with native qml

luisbocanegra commented 1 month ago

After some testing it seems the only reason the custom shadow works in floating mode is because the panel seems to be rendering a bigger transparent area, thus making the shadows be still inside the panel area.

Since the shadows come from the plasma theme svg, the panel is able to draw them in some way so that it goes outside the panel, so loading our own svg and then try to modify on the fly is maybe the only way to achieve this.

luisbocanegra commented 3 weeks ago

Hi, thanks to the work done in c++ plugin Custom blur region for panel background #50 it will be possible to keep the original background enabled with opacity 0 so the original shadow still renders outside the panel. In think this is a reasonable workaround for this problem

image