PlasmaZones v2.3.13
Fixed
- Resnap buffer empty on layout change: Cycling layouts, using the layout picker, or selecting from the zone selector never resnapped windows to the new layout's zones.
UnifiedLayoutController::applyEntry()blocksactiveLayoutChangedviaQSignalBlocker, which preventedonLayoutChanged()from populating the resnap buffer. All layout change paths now explicitly populate the buffer viapopulateResnapBufferForAllScreens()before resnapping. - Per-screen mode toggle and layout cycle scoped to target screen: Mode toggle (autotile/snapping) and layout cycling now correctly operate on the focused screen only, rather than affecting the global active layout state for all screens.
Changed
- Unified layout change resnap path: Layout picker, zone selector, cycle, and quick-layout shortcuts all route through
resnapIfManualMode()instead of using separate inline resnap logic. Eliminates duplicate code and ensures consistent resnap behavior across all layout change entry points. - Renamed screenName variables to screenId/connectorName: Internal refactor for consistent naming of screen identifiers throughout the codebase.
Installation
Arch Linux (AUR):
yay -S plasmazones # or plasmazones-binArch Linux (manual):
sudo pacman -U plasmazones-2.3.13-1-x86_64.pkg.tar.zstKDE Neon / Debian-based:
sudo dpkg -i plasmazones_2.3.13-1_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora (COPR):
sudo dnf copr enable fuddlesworth/PlasmaZones
sudo dnf install plasmazonesFedora (manual RPM):
sudo dnf install plasmazones-2.3.13-1.fc43.x86_64.rpmopenSUSE Tumbleweed (manual RPM):
sudo zypper install plasmazones-2.3.13-1.x86_64.rpmopenSUSE Tumbleweed (OBS):
sudo zypper addrepo https://download.opensuse.org/repositories/home:ilFrance/openSUSE_Tumbleweed/home:ilFrance.repo
sudo zypper refresh
sudo zypper install plasmazonesCommunity-maintained package by ilFrance
Universal Linux (AppDir):
For Fedora Atomic, Steam Deck, or non-root user installation:
tar xzf plasmazones-2.3.13-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