PlasmaZones 3.0.2

6 changes, released May 17, 2026.

Added

  • KWin effect bridge status in diagnostics: support reports and the daemon now surface whether the KWin effect bridge is connected, so it is clear at a glance whether the required effect is loaded and communicating with the daemon.
  • openSUSE packages on OBS: the release pipeline now publishes openSUSE packages to the openSUSE Build Service.

Changed

  • ScreenManager decoupled from QScreen: the screen add, remove, move, and resize lifecycle moved behind an injectable IScreenProvider seam so it can be regression-tested without a live display. This is an internal refactor with no user-visible behavior change. It adds regression coverage for the multi-monitor geometry path.

Fixed

  • Layout shift after a screen powers off and back on (#465, #467): when a monitor reappeared at a transient (0,0) origin on DPMS wake or hotplug, its available geometry stayed pinned to the old origin even after the output settled, shifting every layout anchored to that screen toward the desktop origin. Available geometry is now recomputed whenever a screen moves or resizes.
  • Panels ignored on the first layout pass (#466): the panelGeometryReady signal could fail to fire on the first panel query, so components computing initial zone geometry at startup laid windows out against the full screen rect instead of the panel-reserved area. The signal now fires reliably on the first panel reading.
  • EPEL RPM builds (#462): macros inside spec-file comments were expanded by rpmbuild on EPEL and broke the build. Comment macros are now escaped.