Fork of this, which is a fork of this. Implements KDE 5.23 fixes from matinlotfali's fork.
Using an older version of KDE? Check out the pre-5.23
and 5.23
branches!
- Customizable via config file
- Different types of corner:
Rounded
andChiseled
- Each corner can have different radius
- Ability to square corner when windows edge is at screen edge
- Ability to define
Whitelist
andBlacklist
to exclude/force applying ShapeCorners
We've got:
- The experimental corner type
Squircled
type and itsSquircleRatio
SquareEdgesX
andSquareEdgesY
, which allow you to define extra coordinates at whichSquareAtScreenEdge
will take effect. Particularly useful for multi-monitor setups
- Distro Debian based (Ubuntu, Kubuntu):
sudo apt install git cmake g++ gettext extra-cmake-modules qttools5-dev libqt5x11extras5-dev libkf5configwidgets-dev libkf5crash-dev libkf5globalaccel-dev libkf5kio-dev libkf5notifications-dev kinit-dev kwin-dev
- Distro Arch based:
sudo pacman -S git cmake gcc gettext extra-cmake-modules qt5-tools qt5-x11extras kcrash kglobalaccel kde-dev-utils kio knotifications kinit kwin
git clone https://github.com/ZacharyTalis/ShapeCorners
cd ShapeCorners
mkdir build; cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DQT5BUILD=ON
make && sudo make install
kwin_x11 --replace &
It should be now activated.
- Create file
shapecornersrc
in~/.config
- Follow this template:
[General]
Radius=10
Type=Rounded
SquareAtScreenEdge=false
FilterShadow=false
Whitelist=
Blacklist=
SquareEdgesX=
SquareEdgesY=
SquircleRatio=1.0
Radius
: Define all corners' or specific corner's radius. Accept 1 to 4 numbers, separate by,
. E.g.:Radius=20
: All corners have 20 radiusRadius=10,20
: Top Left and Bottom Right has 10; Top Right and Bottom Left has 20Radius=30,40,50
: Top Left has 30; Top Right and Bottom Left has 40; Bottom Right has 50Radius=20,50,30,10
: Top Left has 20; Top Right has 50; Bottom Right has 30; Bottom Left has 10
Type
:Rounded
,Chiseled
, orSquircled
SquareAtScreenEdge
: Square off corner at when window edge is at screen edge. Booleantrue
orfalse
.FilterShadow
: Since there is no way to change corners of shadow layer, you might want to remove shadow layer out. Booleantrue
orfalse
.Whitelist
: List of window class names that will be forced to apply ShapeCorners. Separate them by,
. E.g.:Whitelist=conky
Whitelist=plasma,conky
Blacklist
: List of window class names that will be excluded from applying ShapeCorners. Separate them by,
. E.g.:Blacklist=krunner
Blacklist=krunner,display
SquareEdgesX
: Extra X coordinates in which SquareAtScreenEdge should take effect. Useful when monitors are placed horizontally from each other, or with monitors of different resolutions. E.g.:SquareEdgesX=1080,1081,3000,3001
SquareEdgesY
: Extra Y coordinates in which SquareAtScreenEdge should take effect. Useful when monitors are placed vertically from each other, or with monitors of different resolutions. E.g.:SquareEdgesY=1920
SquircleRatio
: Behind the scenes, squircle corners are approximated using cubic Bézier curves. Use this value to adjust the strength of all Bézier control points. Just don't stray too far from the default1.0
! E.g.:SquircleRatio=1.043
After changing config, run:
kwin_x11 --replace &
Happy Squircling!