PlasmaZones 3.0.15
2 changes, released May 28, 2026.
Fixed
- Zone-selector popup at the screen edge switched the active layout on hover, resnapping every tiled window (#542): the zone-selector slot was supposed to be input-transparent during drag, because cursor coordinates come in via the D-Bus
updateSelectorPositionpath and the snap commits at drag-end viadrop.cpp, never via a Qt hover event. But the slot’s QMLMouseAreas still firedzoneSelectedon every pointer-enter, and once snap-assist became visible the shared shell surface flipped to input-grabbing (anyInputGrabbing = isVisible(snapAssistSlot) || isVisible(layoutPickerSlot)insyncPassiveShellSurfaceState). Those leaked hover events committedmanualLayoutSelected, which immediately resnapped every other tiled window into the new layout’s zones. Visible as “my layout changes to one with more or fewer windows whenever I drag windows up”. The QML hover commit path is gone (ZoneSelectorContentis nowinteractive: falseand the daemon’smanualLayoutSelectedhandler / signal are removed), and cross-layout switching on drop still works becauseWindowDragAdaptor::dragStoppedreadsm_selectedLayoutIdfrom the C++ hit-test and applies the layout when the user actually releases the drag on a zone in a different layout.
Removed
- Switching the autotile algorithm by hovering an autotile preview in the zone-selector popup (#542): the autotile-hover commit path went away with the input-contract fix above (
drop.cppresolves the selected id as a UUID and skips non-UUID autotile ids, so the hover path was the only commit point for autotile-via-zone-selector). Algorithm swaps still work through the existing on-by-default routes such asNextLayout/PreviousLayout,QuickLayout1–QuickLayout9, and the Layout Picker (Meta+Alt+Spaceby default). TheIOverlayService::autotileLayoutSelectedsignal and its daemon handler were removed as dead code.