While fussing with /usr/share/plasma/shells/.../contents/views/Panel.qml, I tried dynamically disabling the blur+shadows on the panel (using a repeating timer). I noticed that while the blur effect went away, the shadows did not. QML: panel.backgroundHints = Plasma.Types.NoBackground C++: https://github.com/KDE/plasma-workspace/blame/master/shell/panelview.cpp setBackgroundHints(Plasma::Types::NoBackground) emit backgroundHintsChanged() connect(this, SIGNAL(backgroundHintsChanged()), this, SLOT(themeChanged())); themeChanged() calls updateMask() but doesn't call updateEnabledBorders(). updateEnabledBorders() is what disables the panel shadow. PanelView::resizeEvent and PanelView::moveEvent call both "update" functions, so You can test this by editing Panel.qml. Note that "panel" == PanelView.cpp. Video: https://streamable.com/cishh I did try resizing the panel, and the shadow did dissappear. However it did not reappear when I resized it again.
There's also something wrong going on in PanelShadows. Even if I fix the issue you mentioned, the shadow doesn't re-appear after it's gone. It never calls addShadow again after initialization but it does removeShadow when background hints become "NoBackground", so updateShadows won't do anything. I then fixed that but it still wouldn't help :/
May I ask for more information about what's happening here? Why are you trying to disable shadows from Panel.qml? What's the user-facing issue here?
Created attachment 185201 [details] 2017 Panel.qml with blur
Created attachment 185202 [details] Video alternating between backgroundHint on/off every 2sec
After looking up the video in my archives since the streamable video is deleted, it looks like I was trying to make a fully transparent panel without shadows when windows weren't nearby, then apply the black panel with shadows when the windows were touching the panel. Eg: This effect from a gnome extension https://www.youtube.com/watch?v=P5Eqf65uVhs IIRC somebody already implemented "adaptive" transparency panels so this bug has probably already been fixed? Or maybe not. It looks like the panel is still drawing shadows in this "KDE Plasma 5.22: Adaptive Transparency" youtube video when it's in "transparent mode" since it's only "transluscent" not fully transparent. https://www.youtube.com/watch?v=4exHfb8Qjl0 Looks like I'll need to try making an adaptive plasma style sometime to figure out if the bug still exists.