PlasmaZones 2.4.1

9 changes, released March 25, 2026.

Fixed

  • Edge threshold resets to 100px (#237): The UI allowed up to 500px but the C++ setter/loader still clamped to 100. Values above 100 were silently clamped back on save. Also fixed the .kcfg schema max to match.
  • Per-screen autotile split ratio using wrong default: Per-screen overrides fell back to the algorithm default (0.6) instead of the config default (0.5) when no override was stored.
  • Shortcuts KCM shows “plasmazonesd” with no icon: Added KGlobalAccel component desktop file and restored setApplicationDisplayName/setWindowIcon lost during KAboutData removal.
  • Retile shortcut conflicts with Spectacle: Changed default from Meta+Shift+R (Spectacle rectangular region capture) to Meta+Ctrl+R.

Changed

  • ConfigDefaults is now the single source of truth for all setting defaults, min/max bounds, and shortcut defaults. Previously duplicated across configdefaults.h, settings.h, setters.cpp, loadsave.cpp, perscreen.cpp, QML pages, .kcfg, and tests. Now every consumer references ConfigDefaults. Changing a bound or default requires editing exactly one place.
  • Settings bounds exposed to QML via SettingsController constant Q_PROPERTYs. All QML from:/to: values reference the controller instead of hardcoded literals.
  • Removed dead code: Unused ZoneSelectorCard.qml.
  • Added FilterLayoutsByAspectRatio to .kcfg: Was implemented in code but missing from the schema.
  • Editor defaults consolidated: Previously hardcoded in loadsave.cpp, now in ConfigDefaults.