PlasmaZones v3.0.7
Changed
bouncedrops the window in from above its frame (#475):bouncepreviously revealed the window from its own top edge downward, clipped to the window box. Animation shaders can now opt into a full-surface render mode that gives them room to draw past the window, andbounceuses it to play niri's original drop-from-above motion — the window travels in from above its frame.- Overlay cards unified on one shared frame (#475): the layout OSD, navigation OSD, layout picker, and zone selector each hand-rolled their card background, border, and glow. They now share a single
PopupFramecomponent, so all four read as the same surface and the soft glow is captured into the transition and animates with the card rather than being clipped away for the duration. The layout picker and zone selector pick up the same glow the OSDs use. wave-warpgained afrontSpeedparameter (#475):wave-warpand the formercrosswarpran the identical moving-edge warp, differing only in a front-speed dial. That dial is nowwave-warp'sfrontSpeedparameter (default1.0).
Removed
crosswarptransition (#475): it waswave-warpwith a fixed front speed. Usewave-warpwith its newfrontSpeedparameter instead.plasma-flowtransition (#475): it was a re-skin ofsoft-warp-fade— the same noise-driven UV warp and fade, differing only in trivial constants.
Fixed
- Window open / close animations rendered as ghosted, multi-copy trails on KWin (#475): translation transitions (
bounce,fly-in) drew several overlapping copies of the window during an open or close.paintWindowcalledOffscreenEffect::drawWindowdirectly, leaving KWin's shared draw-window iterator parked at the start, so the offscreen capture re-entered the effect and drew the window's own texture into itself. The transition now routes througheffects->drawWindowso the capture reaches the real draw stage, and KWin's stock fade / scale / slide builtins are held off the window so they no longer render a second concurrent copy. - New windows flashed at their spawn position before animating into place (#475): KWin places a new window (centered or smart) before the effect sees it, and the reposition into a zone or tile is asynchronous on Wayland, so a snap-restored or autotiled window visibly flickered at the centered spawn position for one to three frames. New-window pixels are now withheld until the reposition lands (with a 250 ms safety deadline), so the window first becomes visible already animating into its zone.
- Snap-restored windows played their open animation from the screen center (#475): a snap-restored window ran its
bounce/fly-inopen animation from the centered spawn position and then jumped to the zone once KWin's asynchronous move landed. The in-flight open transition is now pinned to the resolved zone, so the effect plays into the zone from the first frame. - OSD glow popped in at the end of a transition (#475): the soft glow behind the layout and navigation OSDs was clipped away for the duration of a show / hide animation and snapped back into place when the animation ended. The glow is now captured together with the card so it scales and moves with it throughout the transition.
- Faint grey halo around daemon OSDs during
bounce/fly-in(#475): both effects painted a faint grey border around the OSD while animating — the effect's edge feather fell just outside the captured texture and tinted its clamped edge pixels. The edge crop is now a sub-pixel, edge-aligned antialias band, so the border is gone and the edge stays crisp.
Installation
Arch Linux (AUR):
yay -S plasmazones # or plasmazones-binArch Linux (manual):
sudo pacman -U plasmazones-3.0.7-*-x86_64.pkg.tar.zstKDE Neon / Debian-based:
sudo dpkg -i plasmazones_3.0.7-*_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora (COPR):
sudo dnf copr enable fuddlesworth/PlasmaZones
sudo dnf install plasmazonesFedora (manual RPM):
# Fedora 43
sudo dnf install plasmazones-3.0.7-*.fc43.x86_64.rpm
# Fedora 44
sudo dnf install plasmazones-3.0.7-*.fc44.x86_64.rpmopenSUSE Tumbleweed (manual RPM):
sudo zypper install plasmazones-3.0.7-*.x86_64.rpmopenSUSE Tumbleweed (OBS):
sudo zypper addrepo https://download.opensuse.org/repositories/home:fuddlesworth/openSUSE_Tumbleweed/home:fuddlesworth.repo
sudo zypper refresh
sudo zypper install plasmazonesUniversal Linux (AppDir):
For Fedora Atomic, Steam Deck, or non-root user installation:
tar xzf plasmazones-3.0.7-linux-x86_64.tar.gz
cd plasmazones-linux-x86_64
./install.shNixOS (flake):
# flake.nix inputs
plasmazones.url = "github:fuddlesworth/PlasmaZones";
# configuration.nix
programs.plasmazones.enable = true;NixOS (standalone):
Download plasmazones.nix from the release assets, then:
# configuration.nix
environment.systemPackages = [
(pkgs.callPackage ./plasmazones.nix {})
];Post-Installation
systemctl --user enable --now plasmazones.service
systemsettings kcm_plasmazones