PlasmaZones v2.2.0
Added
- Independent border and title bar toggles (fixes #210): New "Show focus border" setting draws a colored border around the focused tiled window without requiring title bars to be hidden. Border width, corner radius, and color are configurable independently.
- Border corner radius setting: New corner radius option (0–20px) for the autotile focus border. For borderless windows, the window content is clipped to match the rounded border.
- Right-click context menu for layouts: Edit, Set as Default, Show/Hide from Zone Selector, Enable/Disable Auto-assign, Duplicate, Export, and Delete actions are now accessible via right-click on layout cards. The toolbar has been simplified to New Layout, Import, Open Folder, and view switching.
- Monitor selector for layout editor: Layouts KCM now shows a screen selector (multi-monitor setups) so the editor opens on the correct monitor instead of always using the first screen.
Fixed
- Double toggle-float on multi-monitor setups: Navigation signal connections were registered twice (constructor + daemon ready), causing float toggle and other shortcuts to fire their handlers twice and immediately cancel themselves.
- Snap-mode zone changes leaking into autotile engine: The autotile engine's
windowZoneChangedlistener incorrectly calledonWindowAdded()for snap-mode windows, triggering "not in m_windowToStateKey" warnings and potentially inserting windows into the wrong screen's tiling state. - Window tiling state preserved when moved to another desktop: Moving a tiled window to a different virtual desktop now properly removes it from the source desktop's tiling and retiles to fill the gap. Title bars are restored for borderless windows.
- Editor opens on wrong monitor (fixes #216): The Layouts KCM always sent the editor to the first screen in the list. Now uses user selection, falling back to the primary monitor.
- "Open Layouts Folder" error on fresh install (fixes #216): The layouts directory is now created if it doesn't exist before opening.
- Layout grid not refreshing after duplicate/delete/import: The daemon never emitted layout change D-Bus signals, so the KCM grid relied on manual reloads. Added
scheduleLoad()after all mutating operations. - QML compiler warning in layout editor: Fixed
thresholdvariable used before declaration inDividerManager.qml. - Update check button spacing: Increased padding between the "Check for Updates" button and the result message.
Changed
- KCM layout reorganization: Autotiling settings split into Appearance (Colors, Decorations, Focus Border) and Behavior cards. Snapping "Snapping Behavior" card renamed to "Behavior" for consistency.
- Enable toggles restyled: Snapping and Tiling enable toggles now use the same bold-label + switch pattern as the main "Enable PlasmaZones" toggle.
- Layout toolbar simplified: Per-layout actions moved to right-click context menu. Toolbar retains only global actions (New Layout, Import, Open Folder, view switcher).
Installation
Arch Linux (AUR):
yay -S plasmazones # or plasmazones-binArch Linux (manual):
sudo pacman -U plasmazones-2.2.0-1-x86_64.pkg.tar.zstKDE Neon / Debian-based:
sudo dpkg -i plasmazones_2.2.0-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.2.0-1.fc43.x86_64.rpmopenSUSE Tumbleweed (manual RPM):
sudo zypper install plasmazones-2.2.0-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.2.0-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