Description: This is a simple app that will add rounded screen corners to your desktop. It was designed to work with KDE, but might work on other DEs as well.
INSTALLING: - install Qt 5.12.4 or newer (if you are using KDE, skip this step) - unpack to any directory you wish - add activate.sh to automatic startup
RUNNING MANUALLY: - run activate.sh
For best experience it is recommended to set some windows rules:
SETUP #1 (simpler, without corners overlapping panels): - Go to systems settings/windows/windows rules - Add new rule for application "roudedscreencorners" - Add attributes: -- Virtual desktops: Force, All desktops (to keep rounded corners on all desktops) -- Always on top: Force, Yes (To make them stay above applications) -- Accept focus: Force, No (To prevent steeling focus when you click at them)
SETUP #2 (overlapping panels): - Do setup #1 - Add new rules for corners that should overlap panels. Corners have window titles: Left_Top, Right_Top, Left_Bottom or Right_Bottom - For each of them add attribute Position, Force, position: -- Left_Top: 0 X 0 -- Right_Top: - 24 X 0 -- Left_Bottom: 0 X - 24 -- Right_Bottom: - 24 X - 24 - In activate.sh script remove # from third line (script will have to be activated after panels are drown)
WAYLAND bugfix: - In activate.sh, in lines 4-7 you need to insert QT_QPA_PLATFORM=xcb before each command (fixes the corners positions) - Add additional rule to application to prevent showing the app in taskbar (removes the task bar items for the corners)Last changelog:
1.2
Corners no longer are displayed in taskbar (bug made in last update)
In order to even try to fix the problem I need to understand it, for that I need to be able to recreate it, and for that I need some more information. What desktop environment are you using? Is this X server or Weyland session? Are you having some unusual settings (ex. dpi scaling)? How do you have windows rules set up? A screenshots could also be helpfull.
Here is an image: https://imgur.com/a/uFrBabx
I am using Majaro KDE with X server and I turned scaling off, and removed all my kwin scripts and rules except for the one in your instructions. They are invisible unless I turn the Force Blur script on, but they never cutout the corners, there are just circles.
Hi, any chance of doing this on multiple monitors (it only works on the one that is plugged into the first port on my gpu)?
Also do you have any compile instructions, as then I could maybe fix it myself, currently in Qt Creator it says unused parameter 'event' [-Wunused-parameter] in mainwindow.cpp (line 40).
Actually: I fixed it (just use qmake (then the .pro file) and then make.
On a different note: is there any way to make them draw overtop of latte-dock?
I'm not sure if this can stay on top of Latte, as both have the same "draw on top" instructions. You can always try tweaking with some windows rules, maybe you'll find something I didn't.
Multiple monitor config can be little tricky, but it's totally possible :-) You need to make a copy of the RoudedScreenCorners executable, rename it (ex. RoudedScreenCornersScreen2), then go to activate.sh, add four more lines to run four instances of new executable. Then in window rules, add rule for window class (in this case roundedscreencornersscreen2) forcing the windows to display on second screen. Note, that rules for roundedscreencorners class will still apply to roundedscreencornersscreen2, unless you set "equels" at window class. You can also add rules that select specyfic window and class only to apply some fixes if needed. Hope this works for you, and have a nice day.
Ratings & Comments
12 Comments
It is not working. It adds 4 circles to the edges of my screen instead of cutting out the corners.
In order to even try to fix the problem I need to understand it, for that I need to be able to recreate it, and for that I need some more information. What desktop environment are you using? Is this X server or Weyland session? Are you having some unusual settings (ex. dpi scaling)? How do you have windows rules set up? A screenshots could also be helpfull.
Here is an image: https://imgur.com/a/uFrBabx I am using Majaro KDE with X server and I turned scaling off, and removed all my kwin scripts and rules except for the one in your instructions. They are invisible unless I turn the Force Blur script on, but they never cutout the corners, there are just circles.
Nevermind I found the problem. I had the ShapeCorners desktop effect applied.
Glad to hear. Have fun :-)
Hi, any chance of doing this on multiple monitors (it only works on the one that is plugged into the first port on my gpu)? Also do you have any compile instructions, as then I could maybe fix it myself, currently in Qt Creator it says unused parameter 'event' [-Wunused-parameter] in mainwindow.cpp (line 40).
Actually: I fixed it (just use qmake (then the .pro file) and then make. On a different note: is there any way to make them draw overtop of latte-dock?
I'm not sure if this can stay on top of Latte, as both have the same "draw on top" instructions. You can always try tweaking with some windows rules, maybe you'll find something I didn't.
Multiple monitor config can be little tricky, but it's totally possible :-) You need to make a copy of the RoudedScreenCorners executable, rename it (ex. RoudedScreenCornersScreen2), then go to activate.sh, add four more lines to run four instances of new executable. Then in window rules, add rule for window class (in this case roundedscreencornersscreen2) forcing the windows to display on second screen. Note, that rules for roundedscreencorners class will still apply to roundedscreencornersscreen2, unless you set "equels" at window class. You can also add rules that select specyfic window and class only to apply some fixes if needed. Hope this works for you, and have a nice day.
9 Works reliably. The corners look nice. A bug: the activate.sh does not work if the file path to the script contains a space.
To fix that a " character is needed in last four lines of activate.sh like this: "$SCRIPT_DIR/RoudedScreenCorners" 0
I'll fix that soon. Thanks for reporting this and have a nice day.