Performance & Stability Improvements
This release converts all remaining synchronous D-Bus calls in the KWin effect to asynchronous calls, eliminating potential compositor thread blocking.
Fixed
- Startup freezes:
syncFloatingWindowsFromDaemon()now uses async D-Bus - Window event stutters:
ensurePreSnapGeometryStored()converted to async - Screen change delays:
applyScreenGeometryChange()now non-blocking - Navigation stutters: All navigation handlers (focus, restore, swap, cycle, float toggle) now use
QDBusPendingCallwithQDBusPendingCallWatcher
Technical Details
Files changed:
kwin-effect/navigationhandler.cpp- 8 sync calls converted to asynckwin-effect/plasmazoneseffect.cpp- 3 sync calls converted to async
Safety measures:
- All async callbacks use
QPointer<KWin::EffectWindow>to safely handle window destruction during pending calls - Proper cleanup with
deleteLater()on call watchers
Packages
| Distribution | Package |
|---|---|
| Ubuntu/Debian | plasmazones_1.2.4-1_amd64.deb
|
| Fedora | plasmazones-1.2.4-1.fc41.x86_64.rpm
|
| Arch Linux | plasmazones-1.2.4-1-x86_64.pkg.tar.zst
|
Upgrade Recommendation
Upgrade recommended for all users, especially those who experienced:
- Momentary UI freezes when pressing navigation shortcuts
- Stutters when windows are added/closed
- Delays after screen resolution/arrangement changes
Full Changelog: v1.2.2...v1.2.4