Skip to content

Releases: fuddlesworth/PlasmaZones

PlasmaZones v2.8.4

09 Apr 15:22
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

PlasmaZones v2.8.4

Fixed

  • Ephemeral windows entering autotile tree (#271): The KWin effect's minimum window size filter initialized to 0x0 and was only populated after an async D-Bus settings load. During that startup race window, all windows — including Steam splash screens and Electron notification popups — bypassed the size check and entered the tiling tree. The cache now initializes to 200x150 (matching daemon defaults) so the filter is active from effect load.

Added

  • --log-file flag for daemon: plasmazonesd --log-file /tmp/pz.log redirects all log output to a file (append mode, thread-safe). Combines with --debug for easy bug report capture without piping or journalctl.
  • Autotile eligibility diagnostics: Windows accepted into the autotile tree now log their window class, skipSwitcher, keepAbove, and transient properties at debug level, making it possible to identify why specific windows pass the filter.

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

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

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_2.8.4-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.8.4-1.fc43.x86_64.rpm

openSUSE Tumbleweed (manual RPM):

sudo zypper install plasmazones-2.8.4-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.8.4-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

PlasmaZones v2.8.3

09 Apr 02:10
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

PlasmaZones v2.8.3

Added

  • --debug flag for daemon (#271): plasmazonesd --debug (or -d) enables debug-level logging for all plasmazones.* categories, replacing the need for qtlogging.ini or environment variables when capturing diagnostic output.

Improved

  • Autotile diagnostic depth: Debug logging now includes per-window min-sizes used in zone calculation, before/after zone comparison from enforceWindowMinSizes, per-window applied geometries in applyTiling, min-size cap values, stale min-size clearing on unfloat, and split tree ratio restoration detail. These additions target the intermittent master-goes-to-100% ratio bug reported in #271.

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

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

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_2.8.3-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.8.3-1.fc43.x86_64.rpm

openSUSE Tumbleweed (manual RPM):

sudo zypper install plasmazones-2.8.3-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.8.3-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

PlasmaZones v2.8.2

09 Apr 00:42
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

PlasmaZones v2.8.2

Fixed

  • Autotile windows pushed off-screen on retile (#271): When a window's minimum size exceeded its assigned zone (common with browsers on ultrawide monitors), the Wayland centering code centered the oversized window within the zone — pushing it to a negative x/y position, literally off the left edge of the screen. Oversized windows are now left/top-aligned in their zone instead of centered, staying on-screen while the daemon adjusts zone sizes.
  • Min-size clearing regression from 2.8.1: Removed the indiscriminate m_windowMinSizes clearing in onScreenGeometryChanged() added in 2.8.1. The min-size feedback loop it guarded against was already eliminated by removing the targetZone.width() fallback, so the clearing just forced windows through unnecessary centering discovery cycles — triggering the off-screen push above.

Improved

  • Autotile diagnostic logging: Added logging to key autotile paths — window open/remove events now log IDs and min-sizes, recalculateLayout logs zone geometries and split ratios, screen geometry changes are logged, and window eligibility rejections now include the reason. This makes autotile ratio issues diagnosable from journalctl without code changes.

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

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

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_2.8.2-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.8.2-1.fc43.x86_64.rpm

openSUSE Tumbleweed (manual RPM):

sudo zypper install plasmazones-2.8.2-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.8.2-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

PlasmaZones v2.8.1

08 Apr 15:05
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

PlasmaZones v2.8.1

Fixed

  • Autotile ratio stuck after notification dismiss (#271): Eliminated a min-size feedback loop where the KWin effect's Wayland centering code fell back to reporting the target zone width as a discovered minimum size for apps without a declared minSize(). This self-reinforcing constraint locked the master/stack split ratio until the user minimized and restored a window. Only the compositor's declared minimum is now reported.
  • Stale min-sizes after screen geometry change: Discovered min-sizes for windows on a screen are now cleared when the available geometry changes (e.g., panel/systray resize), preventing stale constraints from overriding the user's split ratio on geometry-triggered retiles.

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

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

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_2.8.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.8.1-1.fc43.x86_64.rpm

openSUSE Tumbleweed (manual RPM):

sudo zypper install plasmazones-2.8.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.8.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

PlasmaZones v2.8.0

07 Apr 20:22
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

PlasmaZones v2.8.0

Added

  • Support report generator ([#302]): plasmazones-report script collects daemon logs, config, and data directory into a tar.gz archive for bug reports and discussions.
  • Autotile window preservation ([#301]): Autotiled windows now survive layout switches, mode toggles, and daemon restarts — matching the preservation behavior that snapped windows already had.
  • Disabled-context OSD ([#297]): Visual feedback when toggling PlasmaZones on a disabled desktop, activity, or screen — shows why nothing happened and where to change it.
  • Config v2 nested schema ([#295]): config.json restructured from flat keys to a nested hierarchy mirroring the settings UI. Existing v1 configs are migrated automatically.
  • Systemd service autostart: Enabling the daemon toggle now also enables the systemd user service so PlasmaZones starts on login.

Changed

  • Assignments split to assignments.json ([#300]): Layout-to-screen assignments moved out of the main config into a dedicated file, reducing config churn and merge conflicts.
  • Session state split to session.json ([#298]): Ephemeral session data (window positions, floating state) moved to its own file so it doesn't dirty the user config.
  • Autotile persistence refactor ([#296]): Session persistence moved from AutoTileState to WindowTrackingAdaptor for cleaner separation between tiling logic and state serialization.
  • Settings consolidation: settings-window.conf merged into plasmazones-settings.conf.

Fixed

  • Assignment persistence across restart ([#303]): Layout assignments and tiling window order now survive daemon restarts and mode-cycle toggling.
  • Autotile ratio retry ([#299]): Bounded retry for transient geometry failures during autotile layout; stale min-size overrides are cleared after resize settles.
  • Config purge unknown keys ([#300]): Unknown root-level groups are removed on save, preventing config pollution from obsolete or misspelled keys.
  • Window restore after config v2 migration ([#295]): loadState was bypassing IConfigBackend group API after the schema change, breaking window restore on first launch.
  • Watcher double-delete guard ([#302]): Fixed a use-after-free race in the file watcher teardown path.
  • Format warning in splitDotPath: Fixed qsizetype vs %d printf mismatch.

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

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

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_2.8.0-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.8.0-1.fc43.x86_64.rpm

openSUSE Tumbleweed (manual RPM):

sudo zypper install plasmazones-2.8.0-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.8.0-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

PlasmaZones v2.7.1

06 Apr 15:56
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

PlasmaZones v2.7.1

Added

  • Custom algorithm parameter UI ([#294]): Scripted algorithms declaring @param metadata now get auto-generated controls in the Tiling settings page — sliders for numbers, switches for bools, and combo boxes for enums.
  • Ratio step size slider ([#292]): Configurable step size for master ratio keyboard shortcut adjustments.

Fixed

  • Per-screen master ratio and count ([#292]): Per-screen overrides for master ratio and count were not persisted correctly. Fixed key constants, slider bindings, and race conditions in the per-screen config path.
  • Reset to defaults clears per-algorithm settings ([#292]): Resetting to defaults now properly clears saved per-algorithm autotile settings.
  • OSD shown at ratio bounds ([#292]): Master ratio OSD was suppressed when the value hit min/max; now always shown on shortcut press.
  • Shader dark band at adjacent zone edges: Eliminated a visible seam in the Aretha Shell shader where neighboring zones shared an edge.
  • Shader category duplication in settings: Fixed duplicate shader categories and easing preview binding errors.
  • Editor shader error box: Restored the shader compilation error display in the layout editor preview.

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

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

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_2.7.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.7.1-1.fc43.x86_64.rpm

openSUSE Tumbleweed (manual RPM):

sudo zypper install plasmazones-2.7.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.7.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

PlasmaZones v2.7.0

04 Apr 17:07
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

PlasmaZones v2.7.0

Added

  • JSON config backend ([#286]): Config migrated from INI (~/.config/plasmazonesrc) to JSON (~/.config/plasmazones/config.json). Existing INI configs are migrated automatically on first launch. The JSON backend supports nested groups, proper array/object serialization, and atomic writes.
  • Master ratio/count OSD values ([#289]): Shortcut adjustments now show the actual value in the navigation OSD: "Master ratio → 65%" and "Master count → 2".
  • Tumbleweed Drift shader improvements: New wind-blown sand streams, stronger audio reactivity across all bands, faster animation speeds, larger dust devils, and full-surface treble sparkle. Sand streams follow the configured wind direction.

Changed

  • Settings navigation: App Rules moved under Snapping section. Child navigation pages have dividers for visual grouping.

Fixed

  • Drag-to-float keeps drop position ([#289]): Dragging a window off the autotile layout no longer snaps it back to its pre-autotile position. The daemon's geometry restore is skipped for drag-initiated floats.
  • Shortcut ratio/count persistence ([#289]): Master ratio and count changes via keyboard shortcuts were only in memory due to QSignalBlocker suppressing the save path. Added debounced save so values survive reboots.
  • Algorithm switch persistence ([#289]): Algorithm changes via settings also use QSignalBlocker and had the same missing-save issue. Now triggers the same debounced save.
  • Minimum window size for autotile ([#290]): The user-configured minimum window width/height was never checked in the autotile path. Small utility windows like the Plasma emoji picker entered the tiling tree, causing rapid float/unfloat cycles that broke the master ratio. Now enforced in the KWin effect before windows reach the daemon.
  • Focus-follows-mouse through small windows ([#290]): Windows below the minimum size threshold no longer steal focus on hover. They block focus-through like excluded apps and popups.
  • Shortcut debouncing ([#288]): Rotate, float toggle, and layout cycle shortcuts are now debounced to prevent rapid-fire D-Bus calls from key repeat.
  • Overlay Vulkan surface churn: Non-shader overlays are hidden instead of destroyed and recreated, reducing Vulkan surface create/destroy cycles.
  • Snap assist window pooling: Snap assist reuses its window instead of creating a new one each time, and rejects stale layout requests.
  • JSON config serialization: Arrays and objects in the config file are properly serialized through the flat map representation.

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

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

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_2.7.0-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.7.0-1.fc43.x86_64.rpm

openSUSE Tumbleweed (manual RPM):

sudo zypper install plasmazones-2.7.0-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.7.0-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

PlasmaZones v2.6.0

03 Apr 15:44
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

PlasmaZones v2.6.0

Added

  • Tumbleweed Drift shader: openSUSE Tumbleweed branded zone overlay with animated desert landscape, rolling pinwheel logos, dust devils, sand particles, erosion flow lines, and responsive audio reactivity.
  • Neon Venom and Chrome Protocol shaders.
  • Voxel-terrain improvements: Multipass with depth buffer, highlight visibility, pulse-flow label effects.
  • Shader engine: Depth buffer via MRT, per-channel filter/wrapping modes for multipass buffers, shader presets from registry.
  • Autotile JS API enrichment ([#274]): Per-window context, custom parameters, and lifecycle hooks for scripted algorithms.
  • Layout ordering settings ([#281]): Configure snapping and tiling cycle order in settings.
  • What's New dialog ([#282]): Per-release highlights shown on first launch after update.
  • Settings .desktop file for application launchers.

Changed

  • Shared config backend ([#276]): Single QSettingsConfigBackend shared across daemon instead of per-component instances.
  • Stale config key purging ([#280]): Settings save removes obsolete keys to prevent config pollution.
  • ConfigDefaults reference constants ([#278]): Autotile defaults reference Defaults:: constants instead of duplicating values.

Fixed

  • Shader parameter defaults: customParams initialized to -1.0 sentinel so fallback checks work on first frame.
  • DOF focal depth stability: Multi-sample region averaging prevents jittery depth-of-field.
  • Vulkan surface lifecycle: Fixes for surface creation on rapid show/hide, teardown crashes, keep-alive window management, deferred QVulkanInstance creation, scissor state, and swapchain colorspace.
  • Rendering pipeline stability: RHI resource release on scene stop, multipass crash guards, SRB resets on label texture resize, texture upload ordering.
  • OSD improvements: Navigation self-destruct fix, masterCount wiring, autotile metadata in layout OSD, per-screen dismiss.
  • Focus-follows-mouse: No longer focuses through excluded or overlay windows.
  • Autotile shortcut sync: Master ratio and count changes from shortcuts now persist to config.
  • Settings stability: Single-instance enforcement, daemon toggle desync from broken QML bindings, RenderingBackend read from ungrouped config keys.
  • i18n: Correct plural form selection in i18np without .ts files.
  • Layout picker: No longer overwrites the global default layout when selecting per-screen.

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

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

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_2.6.0-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.6.0-1.fc43.x86_64.rpm

openSUSE Tumbleweed (manual RPM):

sudo zypper install plasmazones-2.6.0-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.6.0-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

PlasmaZones v2.5.3

01 Apr 15:58
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

PlasmaZones v2.5.3

Fixed

  • Autotile split ratio feedback loop ([#273]): The KWin effect reported the window's actual frame geometry as its "minimum size" when a window resisted shrinking (e.g., during browser media loading). This inflated min-size was never cleared, creating a feedback loop that expanded the master zone to ~90% or full width. Now uses the window's declared minSize() from the compositor, with zone-size fallback for apps without declared minimums. Daemon caps all received min-sizes at 90% of screen dimension as a secondary safety net.
  • Overlay/popup focus guard for autotile ([#272]): Windows with keepAbove set (Spectacle, color pickers, screen rulers) were entering the autotile tree and stealing focus when focusNewWindows was enabled. Added keepAbove() check to isTileableWindow() so overlay/utility tools are excluded from autotiling.
  • "Hold to activate" trigger reset on daemon restart ([#275]): Qt's QConfFile cache was shared between the Settings and LayoutManager backends (same file, same format). When reparseConfiguration() destroyed the Settings QSettings, the LayoutManager's instance kept the stale QConfFile alive, preventing re-read from disk. Settings changed by the external settings app were invisible to the daemon's reload, silently reverting DragActivationTriggers to the default (Alt). Now reads the file directly and overwrites the QSettings cache.

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

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

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_2.5.3-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.5.3-1.fc43.x86_64.rpm

openSUSE Tumbleweed (manual RPM):

sudo zypper install plasmazones-2.5.3-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.5.3-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

PlasmaZones v2.5.2

31 Mar 19:45
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

PlasmaZones v2.5.2

Fixed

  • Layout popup algorithm previews: Algorithm previews in the zone selector and layout picker popup now respect algorithm metadata (zone number display mode, producesOverlappingZones, master indicator dots) like the settings app does.
  • Window picker exclusion lists: WindowPickerDialog was shadowing the appSettings context property, causing addExcludedApplication/addExcludedWindowClass to silently fail. Now routes through settingsController.settings.
  • Autotile split ratio state corruption: Reset suspiciously high split ratios (> max - 0.05) on state load to prevent layouts from being stuck with unusable splits.
  • Autotile cursor hover focus: The hover-to-focus check in AutotileHandler was using the old shouldHandleWindow method; now uses isTileableWindow for consistency.

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

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

KDE Neon / Debian-based:

sudo dpkg -i plasmazones_2.5.2-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.5.2-1.fc43.x86_64.rpm

openSUSE Tumbleweed (manual RPM):

sudo zypper install plasmazones-2.5.2-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.5.2-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