PlasmaZones v1.11.6
Performance
- Dynamic poll timer: Poll rate switches from 500ms (idle) to 32ms (~30Hz) only when LMB is pressed, eliminating continuous 60Hz stacking-order scans on the compositor thread when no drag is active ([#167])
- Early-exit idle polls:
DragTracker::pollWindowMoves()skips the full stacking-order iteration when no drag is active and no button is held - Reduced D-Bus traffic during drag: Active-drag poll rate lowered from 16ms (60Hz) to 32ms (30Hz) — zone detection doesn't need sub-33ms updates, and halving D-Bus message serialization on the compositor thread reduces frame-time jitter on high-refresh-rate displays ([#167])
- Guard redundant daemon work:
hideOverlayAndClearZoneState()now short-circuits when overlay is already hidden and zone state is clear, preventing 30HzclearHighlights()/clearHighlight()calls that could congest the daemon event loop and create D-Bus back-pressure ([#167])
Installation
Arch Linux (AUR):
yay -S plasmazones # or plasmazones-binArch Linux (manual):
sudo pacman -U plasmazones-1.11.6-1-x86_64.pkg.tar.zstUbuntu/Debian (25.10+):
sudo dpkg -i plasmazones_1.11.6-1_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora:
sudo dnf install plasmazones-1.11.6-1.fc43.x86_64.rpmUniversal Linux (AppDir):
For Fedora Atomic, Steam Deck, or non-root user installation:
tar xzf plasmazones-1.11.6-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