khanhas / ShapeCorners

KDE effect rounds/chisels corners of your windows.
GNU General Public License v3.0
80 stars 10 forks source link

Doesn't compile on kde 5.22.90 #9

Open arun54321 opened 3 years ago

arun54321 commented 3 years ago

https://pastebin.com/hiaKzYcX

winghongchan commented 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

ZacharyTalis commented 3 years ago

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.

ZacharyTalis commented 3 years ago

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.

ZacharyTalis commented 3 years ago

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 :)

xcenai commented 3 years ago

doing the lord's work zachary

irvanmalik48 commented 3 years ago

https://github.com/matinlotfali/KDE-Rounded-Corners seems to get it fixed

ZacharyTalis commented 3 years ago

Thank youuu, I'll work on implementing those changes :)

ZacharyTalis commented 3 years ago

My fork now implements a fix for this issue based off of matinlotfali's code.

Shadows/corner blurs are currently broken (see this issue).