Open arun54321 opened 3 years ago
After updating to KDE neon 5.23.0, ShapeCorners does not work at all. (It was compiled earlier and worked until the KDE neon update.)
Operating System: KDE neon 5.23 KDE Plasma Version: 5.23.0 KDE Frameworks Version: 5.87.0 Qt Version: 5.15.3 Kernel Version: 5.11.0-37-generic (64-bit) Graphics Platform: X11 Processors: 4 × Intel® Core™ i5-7200U CPU @ 2.50GHz Memory: 7.7 GiB of RAM Graphics Processor: Mesa Intel® HD Graphics 620
I can confirm this issue as well. Looking to implement a fix in my fork (since I'm not sure this repo is maintained). Will link if I get something working.
This seems to be the relevant, breaking commit in KWin. I've reached out to see if there's a new way of fetching window quads.
zzag (the KWin commit author) kindly provided some extra info regarding the relevant changes:
we removed some of kwin's internal rendering abstractions from effects api in 5.23 for optimization purposes and to hide some implementation details so we can change rendering code to better suit wayland world. in case you need window quads, we added the DeformEffect class. however, if you use windowquad::type(), there are no replacements, unfortunately, but there are still ways around it, e.g. constraining painting to the frameGeometry() or clientGeometry() ... as for rounding corners, kwin devs' stance is that it should be done client-side. on wayland, the compositor simply cannot determine where bottom window corners are ... besides the wayland issues, we have performance related concerns
Luckily we only target X11 :)
Regarding performance concerns, zzag and I discussed how ShapeCorners handles rendering/window paints. It seems that ShapeCorners perf is fine, at least for now.
I'll attempt to implement zzag's advice and fix my fork :)
doing the lord's work zachary
https://github.com/matinlotfali/KDE-Rounded-Corners seems to get it fixed
Thank youuu, I'll work on implementing those changes :)
My fork now implements a fix for this issue based off of matinlotfali's code.
Shadows/corner blurs are currently broken (see this issue).
https://pastebin.com/hiaKzYcX