Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
K

KDE-Rounded-Corners

> 编程语言
Open source

Rounds the corners of your windows in KDE Plasma 5 and 6

1.2K stars0 likes1 views
WebsiteGitHub

About

Rounds the corners of your windows in KDE Plasma 5 and 6

KDE-Rounded-Corners

This effect rounds the corners of your windows and adds an outline around them without much affecting the performance of the KDE Plasma desktop (see #49 and #50).

This effect started as a fork of shapecorners with some additional contributions in Alex47's project, then optimized and reimplemented using shaders with influences from the invert effect.

This effect is maintained on KDE Plasma desktop versions 5.27 to 6.7+ in various Linux distros (See tests).

Tested configurations + Download links (.deb, .rpm)

  •               

  •                       

  •                       

  •                             

  •                             

  • &logo=debian)             

  •                 

  •          

  •                             

  •                     

  •                            

  •                

  •             

Contributions:

  • Compatibility of the effect with other effects like Wobbly windows
  • Compatibility with KWin for Plasma versions 5.27 to 6.7+
  • Compatibility with HDR in Plasma 6.0
  • Compatibility with split KWin codebase dependency starting version 6.4 - see #383
  • Optimize the effect to render once instead of 5 times - see #49
  • Smooth animation when a window moves to an active state
  • Reimplementation with shaders, including shadows at corners and three outlines
  • Ability to disable the effect when windows get maximized or tiled
  • Cleanups for the plugin logic, remove unneeded dependencies from CMakeLists.txt file - by alex1701c
  • Separate outline color for active and inactive windows - by OrkenWhite
  • Support for language translations - by VictorR2007 (See How to add more translations?)
  • Squircle corner shape - by zxsleebu (See #503)
  • Linear gradient outlines with two color stops and an adjustable angle (See #522)

How to install using unofficial repositories

Launchpad PPA at matinlotfali/kde-rounded-corners for Kubuntu, Ubuntu, and KDE Neon

bash
sudo add-apt-repository ppa:matinlotfali/kde-rounded-corners
sudo apt update
sudo apt install kwin-effect-roundcorners

For the X11 build, use kwin-effect-roundcorners-x11. On KDE Neon the packages carry a -neon suffix (kwin-effect-roundcorners-neon, kwin-effect-roundcorners-x11-neon).

Copr package at matinlotfali/KDE-Rounded-Corners

bash
sudo dnf copr enable matinlotfali/KDE-Rounded-Corners
sudo dnf install kwin-effect-roundcorners # or kwin-effect-roundcorners-x11 

AUR package by xiota

bash
sudo pamac build kwin-effect-rounded-corners-git # or kwin-effect-rounded-corners-x11-git

NixOS package by flexagoon

bash
nix-env -iA nixos.kde-rounded-corners

How to build from source code

You need to install development packages for your distribution first:

Debian based (Ubuntu, Kubuntu, KDE Neon)

  • Plasma 6
    bash
    sudo apt install git cmake g++ extra-cmake-modules kwin-dev qt6-base-private-dev qt6-base-dev-tools libkf6kcmutils-dev libdrm-dev
  • Plasma 5 - by alex47:
    bash
    sudo apt install git cmake g++ extra-cmake-modules kwin-dev libkf5configwidgets-dev 

Fedora

  • Plasma 6 (Fedora 40 and later)
    bash
    sudo dnf install git cmake gcc-c++ extra-cmake-modules kwin-devel kf6-kconfigwidgets-devel libepoxy-devel kf6-kcmutils-devel kf6-ki18n-devel qt6-qtbase-private-devel wayland-devel libdrm-devel
  • Plasma 5 (Fedora 39)
    bash
    sudo dnf install git cmake gcc-c++ extra-cmake-modules kwin-devel kf5-kconfigwidgets-devel kf5-ki18n-devel libepoxy-devel

Arch - by hexa-one

  • Plasma 6
    bash
    sudo pacman -S git cmake extra-cmake-modules base-devel vulkan-headers
  • Plasma 5
    bash
    sudo pacman -S git cmake extra-cmake-modules base-devel
    yay -S qt5-tools

OpenSUSE

  • Plasma 6 (by aaronkirschen)
    bash
    sudo zypper in git cmake gcc-c++ kf6-kconfigwidgets-devel kf6-kcmutils-devel kwin6-devel kf6-kwindowsystem-devel qt6-quick-devel qt6-core-private-devel
  • Plasma 5 (by mathiasgredal, Richardsause)
    bash
    sudo zypper install git cmake gcc-c++ extra-cmake-modules libqt5-qttools-devel kconfigwidgets-devel kwindowsystem-devel kguiaddons-devel ki18n-devel knotifications-devel kwin5-devel libQt5Gui-devel libQt5OpenGL-devel libepoxy-devel libqt5-qtnetworkauth-devel

Void

by lay-by and tre-flip

bash
xbps-install git cmake make extra-cmake-modules gettext-devel kwin-devel kf6-kconfigwidgets-devel kf6-kcmutils-devel

Then clone the source code and compile it:

bash
git clone https://github.com/matinlotfali/KDE-Rounded-Corners
cd KDE-Rounded-Corners
mkdir build
cd build
cmake ..
cmake --build . -j
sudo make install

Building for X11

If you are building for X11, use the command cmake .. -DKWIN_X11=ON instead of cmake ..

Building for KDE Linux distro

When building for KDE Linux or other immutable distributions that do not provide tools like rpm-ostree, you cannot write to system paths such as /usr. To deploy a plugin in such environments, you need to build it into a user overlay and activate it using systemd-sysext.

To ensure the plugin is installed under the correct directory layout expected by KWin, use

bash
cmake .. \
  -DCMAKE_INSTALL_PREFIX=~/kde/usr \
  -DKDE_INSTALL_PLUGINDIR=lib/qt6/plugins

instead of cmake .., and also use make install instead of sudo make install.

Once built, you can prepare the overlay by placing it under ~/kde and linking it into /var/lib/extensions/kde, where systemd-sysext expects extension roots to be located. The following command automates that:

bash
sh ../tools/deploy-to-overlay.sh

This way, the plugin is installed in a form that systemd-sysext can recognize and load, while still preserving the integrity of the immutable root filesystem.

How to load or unload the effect

To activate the effect, you can now log out and log back in, or run the command below inside the build directory:

bash
sh ../tools/load.sh

To fully uninstall the effect, run the following commands inside the build directory:

bash
sh ../tools/unload.sh
sudo make uninstall

How to auto-install after KWin update

After each KWin package update, the effect becomes incompatible. So it won't load without a rebuild.

As long as the effect is not part of the KWin yet (being discussed here), you can automate the re-installation by running the command below inside the build directory:

bash
sh ../tools/install-autorun-test.sh

The command above adds a .desktop file inside the autorun directory which checks if the effect is still compatible, If it is incompatible, the script will automatically rebuild and reinstall the effect.

[!NOTE] The script uses qdbus to show a progress bar. On Plasma 6, it is not installed by default. You need to manually install the package qtchooser.

How to adjust its settings

You can change the corner radius, outlines, exclusions, and more in:

System Settings → Workspace Behavior → Desktop Effects → Rounded Corners

Extra Tips

How to add more languages to the translation

Translations are stored in po//kcmcorners.po. One can copy from other languages and start editing it in a different subdirectory of po.

If the kcm.ui changes, a new language template .pot can be generated by running the script tools/generate-messages.sh.

How to add shadow to windows without decoration (like Steam)

You can add shadows for specific windows using the hack below.

  1. In [ System settings ] → [ Window management ] → [ Window rules ] → [ Appearance & Fixes ]:

    Add [steam] and set [ No titlebar ] and frame to [ No ]

  2. In [ System settings ] → [ Application Style ] → [ Window decoration ] → [ Breeze theme setting ] → [ Window specific overrides ]:

    Add [steam] and set [ Hide Window title bar ] to [ Yes ].

After that, the Steam window ge

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C++kwin-effectrounded-corners

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言