Install PlasmaZones
Packages for Arch, Fedora, openSUSE and Nix, a portable tarball, or a source build.
Every method below installs the same thing: a user daemon plus a KWin effect. Pick your distribution, then do the post-install step — the daemon does not start on its own.
Already installed and something is wrong? Go to troubleshooting.
Requirements
Before installing, check that your desktop meets these.
- KDE Plasma 6.7 or newer, on Wayland.
- KWin compositing with OpenGL — the integration runs as a KWin effect, so it is unavailable under QPainter compositing.
- Qt 6.10 or newer.
Building from source additionally needs:
- CMake 3.16+ and a C++20 compiler.
- wayland-scanner.
- Kirigami, for the settings app — required in every build.
- KDE Frameworks 6.26+ (optional) for the settings KCM and KGlobalAccel shortcuts; PlasmaActivities (optional) for activity-based layouts. -DUSE_KDE_FRAMEWORKS=OFF drops both.
Choose a method
The distribution packages are the least work and keep PlasmaZones updated alongside the rest of your system. The tarball suits immutable systems such as Fedora Atomic, or anywhere you would rather not install as root.
Arch Linux (AUR)
Prebuilt binary, or plasmazones for the source package. plasmazones-bin on the AUR →
yay -S plasmazones-binFedora (COPR)
Official COPR repo. Official COPR repo →
sudo dnf copr enable fuddlesworth/PlasmaZonessudo dnf install plasmazonesopenSUSE Tumbleweed (OBS)
Community-maintained by ilFrance. OBS package page →
sudo zypper addrepo https://download.opensuse.org/repositories/home:ilFrance/openSUSE_Tumbleweed/home:ilFrance.reposudo zypper refreshsudo zypper install plasmazonesNix
On NixOS, prefer the module — see below. This pins the package to the flake's nixpkgs, so a system KWin update can stop the effect plugin loading until you reinstall. Flake and NixOS module →
nix profile install github:fuddlesworth/PlasmaZonesPortable tarball
Lands in ~/.local. Best for Fedora Atomic or no-root environments. Latest release →
TAG=$(curl -fsSLI -o /dev/null -w '%{url_effective}' \ https://github.com/fuddlesworth/PlasmaZones/releases/latest | sed 's#.*/tag/##')curl -fL -o plasmazones.tar.gz \ "https://github.com/fuddlesworth/PlasmaZones/releases/download/$TAG/plasmazones-${TAG#v}-linux-x86_64.tar.gz"tar xzf plasmazones.tar.gzcd plasmazones-linux-x86_64 && ./install.shBuild from source
Add -DUSE_KDE_FRAMEWORKS=OFF for the portable build, which drops the settings KCM and KGlobalAccel shortcuts. Build instructions →
git clone https://github.com/fuddlesworth/PlasmaZones.gitcd PlasmaZonescmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usrcmake --build build -j$(nproc)sudo cmake --install buildNixOS module
On NixOS, prefer the module over nix profile. It builds against your system's KWin, so a KWin update cannot leave the effect plugin unable to load. Add the flake to your inputs:
plasmazones.url = "github:fuddlesworth/PlasmaZones";Then import the module and enable it:
imports = [ inputs.plasmazones.nixosModules.default ];programs.plasmazones.enable = true;Rebuild, run the step below, then log out and back in.
After installing
Every method needs this. The daemon is a user service and is not started for you:
systemctl --user enable --now plasmazones.servicekbuildsycoca6 --noincremental # KDE only — refresh the service cacheThen check the effect is enabled under System Settings → Window Management → Desktop Effects → PlasmaZones. It is on by default, so this is usually just a confirmation. The entry is unavailable under QPainter compositing, because the effect needs KWin on OpenGL.
First run
Drag any window while holding Alt — zones appear, and dropping the window into one fills it. To try the other placement modes, open the settings app (plasmazones-settings, or System Settings → Apps → PlasmaZones on KDE) and assign Tiling or Scrolling to a screen, or press Meta+Shift+T to cycle the focused screen through them.