github fuddlesworth/PlasmaZones v3.1.1
PlasmaZones v3.1.1

4 hours ago

PlasmaZones v3.1.1

Added

  • Route a window to a monitor or virtual desktop: two new window-rule actions, RouteToScreen and RouteToDesktop, open a matched window on a specific monitor or virtual desktop (or both) and can snap it into a zone there. On its own a rule can just move the window to that monitor. This restores the per-monitor app-to-zone assignment from v3 and generalizes it to "open app X on context Y" for both snapping and tiling (#691).
  • Autotile capability badges in layout previews: the shared preview cards used by the overlay picker, the zone selector, and the settings layout surfaces now show the autotile capability badges, matching the Layouts page (#688).

Changed

  • Curated default layout and algorithm visibility on fresh installs: the plain grid autotile algorithm is hidden by default because the resize-aware aligned-grid supersedes it, and the Wide snapping layout is now shown by default. This only seeds on a fresh config, so existing users keep their current visibility (#687).

Removed

  • The "is one of" match operator: this window-rule match operator was unusable in the editor and has been removed (#691).

Fixed

  • Autotiling failed to load any algorithm in non-C locales: scripted algorithms compile through Luau, which parsed numbers with the system locale, so a regional locale with a decimal comma broke every algorithm, including the shared prelude, and the UI reported "No autotile algorithms available". LC_NUMERIC is now pinned to "C" while Luau compiles and runs (#692, discussion #690).
  • Per-monitor app assignments stopped working after upgrading from v3: the v3 to v4 migration dropped the legacy per-monitor targetScreen pin and left X11 two-token patterns (chromium chromium) that never matched the normalized app id. The migration now carries the pin across as a RouteToScreen action and normalizes the pattern (#691, discussion #686).
  • Quick Shortcuts applied the wrong layout: Meta+Alt+# applied whatever layout sat at that position in Priority order instead of the layout bound to that quick slot (#684).
  • Windows landed in the wrong zones during fast rotation: holding the rotate shortcut applied superseded geometry updates after the daemon had already moved on, so windows ended up in stale zones. The effect now drops superseded geometry ticks (#689).
  • restoreWindowsToZonesOnLogin did nothing: the toggle round-tripped through config, D-Bus, and the UI but its value was never read, so a window snapped at logout always restored to its zone. It is now honored on login (#685).
  • Per-context gap and padding overrides were ignored for tiled windows: window-rule gap overrides applied only to snapped windows, not autotiled ones. They now apply to both (#685).
  • Snapping ignored some window-rule exclusions: window-class, title, and minimum-size exclusion conditions were not honored on the snapping path. The full window query is now consulted (#685).
  • Layout names were blank in the overlay previews: the picker, OSD, and zone-selector preview cards read the old name key instead of displayName, so the name label rendered empty. They now read displayName (#688).
  • The layout dropdown highlight washed out the badges: the layout combo box highlighted the active row with a full opaque band that left the category, capability, and aspect-ratio badges illegible. It now uses the same subtle tint as the rest of the app (#693).

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

sudo pacman -U plasmazones-3.1.1-*-x86_64.pkg.tar.zst

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_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):

# Fedora 44
sudo dnf install plasmazones-3.1.1-*.fc44.x86_64.rpm

openSUSE Tumbleweed (OBS):

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

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

tar xzf plasmazones-3.1.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 (without flakes):
Build this tag's source against your host's pkgs (no release asset needed):

# configuration.nix
environment.systemPackages = [
  (pkgs.callPackage
    "${builtins.fetchTarball "https://github.com/fuddlesworth/PlasmaZones/archive/v3.1.1.tar.gz"}/packaging/nix/package.nix"
    { version = "3.1.1"; })
];

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.