github fuddlesworth/PlasmaZones v2.3.1
PlasmaZones v2.3.1

latest releases: v2.8.7, v2.8.6, v2.8.5...
one month ago

PlasmaZones v2.3.1

Fixed

  • Window state lost on daemon reload: Zone assignments were purged during loadState() when the saved active layout differed from the default layout. Restoring the active layout emitted activeLayoutChanged before currentVirtualDesktop was set, causing onLayoutChanged() to resolve effective layouts against the wrong desktop and fall back to defaultLayout() — whose zones didn't match the saved assignments. Fixed by suppressing the signal during state restoration.
  • Screen not found on Wayland (hex serial mismatch): The daemon's screenIdentifier() used QScreen::serialNumber() as-is, but on KDE Plasma Wayland this returns the EDID header serial in hex (e.g., "0x0001C1A3"). The KWin effect already normalized to decimal ("115107"), causing screen ID mismatches across the D-Bus boundary. Both sides now produce identical decimal serials.
  • Screen not found from KCM queries ([#223]): getScreenInfo() only matched screens by connector name ("eDP-1"), but getScreens() returns EDID-based screen IDs ("Sharp Corporation:LQ134N1JW53"). Every KCM screen info query failed, causing autotile assignments to revert and persistent "screen not found" errors on multi-monitor setups. Now accepts both connector names and screen IDs.
  • Autotile window order lost on rapid mode toggle: When setInitialWindowOrder() was called twice for the same screen, the first call's 10-second safety timer would fire and remove the second call's pending order. Added a generation counter so stale timers from superseded calls become no-ops.
  • KCM fallback screen IDs inconsistent: When the daemon was unavailable, the KCM screen provider fell back to connector names instead of EDID-based screen IDs, causing per-screen config mismatches. Now uses Utils::screenIdentifier() in the fallback path.

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

sudo pacman -U plasmazones-2.3.1-1-x86_64.pkg.tar.zst

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_2.3.1-1_amd64.deb
sudo apt-get install -f  # Install dependencies if needed

Fedora (COPR):

sudo dnf copr enable fuddlesworth/PlasmaZones
sudo dnf install plasmazones

Fedora (manual RPM):

sudo dnf install plasmazones-2.3.1-1.fc43.x86_64.rpm

openSUSE Tumbleweed (manual RPM):

sudo zypper install plasmazones-2.3.1-1.x86_64.rpm

openSUSE Tumbleweed (OBS):

sudo zypper addrepo https://download.opensuse.org/repositories/home:ilFrance/openSUSE_Tumbleweed/home:ilFrance.repo
sudo zypper refresh
sudo zypper install plasmazones

Community-maintained package by ilFrance

Universal Linux (AppDir):
For Fedora Atomic, Steam Deck, or non-root user installation:

tar xzf plasmazones-2.3.1-linux-x86_64.tar.gz
cd plasmazones-linux-x86_64
./install.sh

NixOS (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

Don't miss a new PlasmaZones release

NewReleases is sending notifications on new releases.