Does not compile for Plasma 5.21 Beta (5.20.90)
Fixed
fix new datatype build fail
Hi, thanks for reporting, I'll fix it once it hits stable.
This seems to be the related change in KDE's github repository containing text on why this change was applied: https://github.com/KDE/kwin/commit/9f2cb0ae1b6fa6a79158006714907abfac12929a#diff-2f42c80f465471eafc1f0febd9f104a0ef0eef017bb55f1a0c890cebbd4ae78b Looks like it's related to the new support for per-screen rendering (I think this is the support for multiple framerates per screen) https://kde.org/announcements/plasma/5/5.20.90/ In addition, we have also added support for mixed-refresh-rate...
This seems to be the related change in KDE's github repository: https://github.com/KDE/kwin/commit/9f2cb0ae1b6fa6a79158006714907abfac12929a#diff-2f42c80f465471eafc1f0febd9f104a0ef0eef017bb55f1a0c890cebbd4ae78b
Does not compile for Plasma 5.21 Beta (5.20.90)
Some styles set shadows on windows (i know i do in dsp), others don't, I really have no idea which ones do w/o looking at the code. Well, I've been meaning (for many years now, so don't get your hopes up), to write a more comprehensive configuration dialog for this... but, since I have absolute 0 use for it myself I doubt if its going to happen anytime soon (or ever). What you can do, well, live with it(?), try and find a style that sets the shadows on 'normal' windows that you can live with(?),...
Some styles set shadows on windows (i know i do in dsp), other don't, I really have no idea which ones do w/o looking at the code. Well, I've been meaning (for many years now, so don't get your hopes up), to write a more comprehensive configuration dialog for this... but, since I have absolute 0 use for it myself I doubt if its going to happen anytime soon (or ever). What you can do, well, live with it(?), try and find a style that sets the shadows on 'normal' windows that you can live with(?), fork...
yh that's odd but with other decos when I just enable no border the rounded cornerss leave, which means that it's a new change in 5.20 that removes shadows when there's no border? The tiling script I use doesnt show titlebars on any of the windows it's tiling, and most of the deco's really ruin the rounded corner feel for me, so idk what I can/should do
Yes, that effectively destroys the deco for that window and in doing so, everything the deco does. The strange thing is that it was working up until 5.20(?), I think that the style (breeze?) used to set shadows on the windows that don't have a deco, but doesnt do it anymore. shapecorners paints if: the window is not part of plasma, krunner or latte dock the window is not OSD, a desktop, or a dock (those that can be docked inside another window) the window has a shadow (set by either deco or style)...
Yes, that effective destroys the deco for that window and in doing so, everything the deco does. The strange thing is that it was working up until 5.20(?), I think that the style (breeze?) used to set shadows on the windows that don't have a deco, but doesnt do it anymore. shapecorners paints if: the window is not part of plasma, krunner or latte dock the window is not OSD, a desktop, or a dock (those that can be docked inside another window) the window has a shadow (set by either deco or style)...
https://imgur.com/a/gtydpGt
How did you disable the titlebars then? It's possible you disable the deco then and in doing so, the shadows.
hmm, I'm using the breeze deco without a titlebar
This seems right.
I don't disable painting for titlebarless windows per-se, however, if the windows are without shadows (painted by kwin/deco) then it won't paint over the corners.
/usr/lib/qt/plugins/kwin/effects/plugins/kwin4_effect_shapecorners.so /usr/share/kwin/shaders/1.40/shapecorners.frag /usr/share/kwin/shaders/1.10/shapecorners.frag /usr/lib/qt/plugins/kwin/effects/configs/kwin4_shapecorners_config.so /usr/share/kservices5/kwin/shapecorners_config.desktop
lll get that in a sec but I just noticed something, I don't use titlebars on my windows but the ones that have them, shapecorners works fine on, are you using titlebars? Because that might be why you never noticed anything different
No idea then, could you post the contents of the install_manifest.txt file to see if everything goes in the right place.
Was the first thing I did
And you're sure you recompiled shapecorners after updating kde?
https://pastebin.com/ZLKh3FSa Not that I can see
Hmmm, not sure whats wrong then... works fine here on 5.20... is there any information relating to shapecorners if you start kwin from the terminal?
Doesn't Work in 5.20
Doesn't work with Plasma 5.18
Apparently fixed outside.
Yes, the day I was trying the plugin with Plasma 5.18 I recompiled and reinstalled it. Though, today I've updated to plasma 5.18.1, recompiled and reinstalled ShapeCorners one more time and now it works. So maybe the problem was in kwin or something. Anyway, everything works and this ticket can be closed now. Thank you.
rounded corners on menues back
add error when shader not found
round all windows that has a deco
I'm on 5.18 now... and it's working fine... could you provide me with some more information? Are you sure you recompiled, installed and restarted kwin (kwin_x11 --replace) after re-installing?
Still 5.17.5 here... I'll look at it once I'm on 5.18 as well, there is btw another effect that does the same thing, you might want to try it: https://github.com/linuxdeepin/dde-kwin
Doesn't work with Plasma 5.18
Hey I don't know if it helps but if you look at this repo ( https://github.com/linuxdeepin/dde-kwin ) they also have a Round corner effect (at plugins/kwineffects/scissor-window). The strange thing is that their version works fine under Wayland with both monitors but it is hella buggy (any X window under Wayland crashes thes session unlike your plugin). I would still prefer your version by far but maybe you can see something that could is done differently which can cause the error with your plugin....
Hey I don't know if it helps but if you look at this repo ( https://github.com/linuxdeepin/dde-kwin ) they also have a Round corner effect (at plugins/kwineffects/scissor-window). The strange thing is that their version works fine under Wayland with both monitors but it is hella buggy (any X window under Wayland crashes thes session unlike your plugin). I would still prefer your version by far but maybe you can see something that could is done differently which can cause the error with your plug...
Hmm well, theres no way for me to debug that.... yet. Anyways, the shader is really simple so it's not that, the problem is w/ the data thats copied, but I fail to see whatever else I could do. I get the window geometry from the 'effectwindow' and then map the corners, copy whatever is under those corners (I mean, it is painted at the correct location, which is the same location) and then render at that same location above the window. I use virtualScreenGeometry to get the.... "The bounding geometry...
Well everything works now on the monitor that is not considered the HDMI monitor by Systemsettings. Restarting Kwin isn't really possible under Wayland but killing the session and restarting didn't help no. Also I'm on Nouveau drivers where under X11 it works fine on both monitors without any issue. I think you are correct with All I can think of is it copies the framebuffer incorrectly in some cases, (right) and if the window geometry is wrong somehow theres very little I can do about that. I thought...
Hmmm, so you got the shadow problem resolved then? At least it looks like it supposed in the screenshot (on the left). I dont do anything screen / monitor specific, I just copy the framebuffer before rendering the window (after rendering the shadows) and then use a shader to render the copied corners on the window.... Does restarting kwin help (if that is even possible on wayland)? I really have no idea as to what is happening, w/ the new intel iris driver (for x11) I got glitchy rendering on x11...
Doesn't work under Wayland
So here's an update: Appearently this is caused by a 2nd monitor. I have one HDMI and one VGA monitor and when I change the monitor layout with the systemsettings tool the error by shapecorners seems to follow the screen where Systemsettings thinks the HDMI monitor is. It works under my HDMI monitor though if I choose the wrong layout (ie swap HDMI and VGA in the systemsettings) but then the VGA monitor has the bug. Under X11 it works perfectly fine with both monitors at any position. See the screenshot...
This bug is caused by this plugin+Wayland. It happens with all window decoration I tried.
Yeah, I /think/ the default shadows do exactly this. At least in the picture you uploaded here as an attachment the corners look correct (not black). Here is (see attachment) is how it looks on normal x11 aswell if I set a higher radius on the corners then the shadows have. Since I do not use the default styles for widgets/deco (breeze) and did not intend this to be used w/ breeze I have no idea what kind of shadows it sets on the corners, the style I've written and use myself sets the correct radius...
Tried it out with a fresh profile and still the error persists. With a bigger radius you can see that those are black squares where the transparent mask is supposed to be.
Hmmm, are you sure that light/white frame is not a part of the 'shadows' set on the windows? ShapeCorners does not shape/know what roundness the shadow has so it will look exactlly like that if the roundness of the window doesn't match the roundness of the shadow. But then again, its completely possible that its a wayland thing but I'd check w/ other shadows first... those are usually set by the style or by the deco.
Doesn't work under Wayland
I disabled shapecorners whenever there is a 'transformed' window, so now all windows get square corners while one is animating (minimizing).
Oh wow! That was fast! Thank you so much! The issue seems to be gone! What did you do?
Yeah, ShapeCorners gets disabled when window starts to minimize (as it should), but somehow the shadow still glitches. And not all windows do that. I'm not sure if this actually has anything to do with ShapeCorners, but I'm hoping maybe someone with more knowledge and experiece would have a better chance at understanding the cause here. And thanks for creating this beautiful effect! Especially GTK apps with CSD look very sleek with ShapeCorners.
Too dark window shadows
I worked around the issue in ShapeCorners, it's fixed.
workaround for yet-another-magic-lamp effect double shadow painting
Just installed the effect... I get it too, altho, I'm not completely sure how it's even possible, since, if you look closely at the corners right when clicking 'minimize' you'll see that the corners are not even rounded. ShapeCorners is not 'active' when there is another effect present. I really don't know what to say, I don't want to assign blame or such, but atm I fail to see how this could even be related to shapecorners (but apparently it is), I'll have to investigate further. Thanks for bringing...
Too dark window shadows
gnarf... delete d pointer on destroy
more dialog work
begin dialog work
Latte Dock in exceptions
Reopening, seems there are still some issues.
Latte is still rounded, using latte instead of latte-dock would be more appropriate IMO.
Yes it would, it's basically a matter of just doing it, I have been preoccupied w/ other things lately, but sure, I'll keep this open as a reminder to implement it at some point. Been meaning to write some sort o config dialog anyways, the things is, I absolutely hate doing that. I'm accepting patches tho, if you feel like I'm moving too slow.
So that seems like a clear matter of taste. Would it be possible to implement it as an option?
Probably by maximizemode, I prefer them this way, thats why they are rounded, also, its not kwin per-se, its the decoration, like breeze, kwin doesnt shape the decorations in any way.
Don’t round tiled windows
get the model view matrix from the windowdata instead of recalculating each paint
performance update, no longer query strings on pre/paint
the effect is also present in Arch: https://aur.archlinux.org/packages/kwin-effect-shapecorners-git/
thanks!
Latte Dock in exceptions
Patch applied.
ignore latte-dock windows
To be honest, I didn't think anybody was actually using it. it became famous through reddit: https://www.reddit.com/r/kde/comments/9i34yg/round_your_window_corners_with_shapecorners/ I'm accepting patches tho! I uploading the patch for Latte, I am using github and kde phabricator, I havent used sourceforge for many users so I am just sending the file of the patch
Latte Dock in exceptions
Well, I've got plans to write some sort of config... thing for this... thing. But I haven't gotten around to it, I'm accepting patches tho! To be honest, I didn't think anybody was actually using it.
Latte Dock in exceptions
exclude krunner aswell
dont round 'plasma' windows
remove .directory file....
Initial commit