graesslin created this revision. graesslin added reviewers: KWin, Plasma, mart. Restricted Application added a project: KWin. Restricted Application added subscribers: kwin, plasma-devel.
REVISION SUMMARY During startup the StatusNotifierItem can cause a freeze as it might do a blocking DBus call while the other side is performing a Wayland roundtrip. This freeze is broken when the DBus call times out but then the SNI doesn't work either. By moving the SNI into a dedicated helper process KWin itself does not have any blocking calls to DBus. In addition KWin exposes a DBus API to enable/disable the virtual keyboard, so that other processes can also make use of it to provide e.g. a better UI (e.g. Plasmoid). BUG: 385371 TEST PLAN Started a new session, it did not freeze and I had a SNI which worked as expected REPOSITORY R108 KWin BRANCH virt-keyboard-sni REVISION DETAIL https://phabricator.kde.org/D8163 AFFECTED FILES CMakeLists.txt autotests/CMakeLists.txt autotests/test_virtualkeyboard_dbus.cpp config-kwin.h.cmake helpers/CMakeLists.txt helpers/virtualkeyboard/CMakeLists.txt helpers/virtualkeyboard/main.cpp helpers/virtualkeyboard/sni.cpp helpers/virtualkeyboard/sni.h virtualkeyboard.cpp virtualkeyboard.h virtualkeyboard_dbus.cpp virtualkeyboard_dbus.h To: graesslin, #kwin, #plasma, mart Cc: plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart