PlasmaZones v1.11.7
Performance
- Event-driven cursor tracking: Cursor position updates during drag are now driven by
slotMouseChangedinstead of the poll timer, eliminating QTimer jitter from the compositor frame path and providing more accurate cursor tracking at input-device cadence - Throttled dragMoved signals:
DragTracker::updateCursorPosition()throttlesdragMovedemissions to ~30Hz viaQElapsedTimer, preventing D-Bus flooding from high-frequency (1000Hz) mouse input - Eliminated QDBusInterface for WindowDrag: Replaced
QDBusInterfacewithQDBusMessage::createMethodCallfor all WindowDrag D-Bus calls (dragStarted,dragMoved,dragStopped,cancelSnap), avoiding synchronous D-Bus introspection that could block the compositor thread with a ~25s timeout if the daemon is registered but slow to respond - Pre-parsed activation triggers: Activation triggers are now parsed from
QVariantListto POD structs (ParsedTrigger) once at load time, removing per-callQVariantunboxing overhead fromanyLocalTriggerHeld()(~30 calls/sec during drag)
Installation
Arch Linux (AUR):
yay -S plasmazones # or plasmazones-binArch Linux (manual):
sudo pacman -U plasmazones-1.11.7-1-x86_64.pkg.tar.zstUbuntu/Debian (25.10+):
sudo dpkg -i plasmazones_1.11.7-1_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora:
sudo dnf install plasmazones-1.11.7-1.fc43.x86_64.rpmUniversal Linux (AppDir):
For Fedora Atomic, Steam Deck, or non-root user installation:
tar xzf plasmazones-1.11.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