graesslin created this revision. graesslin added reviewers: Plasma on Wayland, hein. Restricted Application added a subscriber: plasma-devel. Restricted Application added a project: Plasma on Wayland.
REVISION SUMMARY Especially for Xwayland windows the compositor might not have a themed icon name. Resulting in a task manager not having dedicated icons for Xwayland windows. This change deprecates the way how a compositor is supposed to set the window icon. Instead of passing the themed icon name, it is now supposed to pass the QIcon. In case it's a themed icon the existing way to pass to the client is used. Otherwise a new event is used to inform the client that there is an icon - no data is transmitted at this point. The client can then create a file descriptor and pass it to the compositor. The compositor serializes the icon into the file descriptor and the client can read from it. This all happens transparently on client side there is no api change at all. The writing and reading of the icon is done in a thread. Due to that Qt5::Concurrent is now a required dependency instead of an optional dependency. REPOSITORY rKWAYLAND KWayland BRANCH plasma-window-icon REVISION DETAIL https://phabricator.kde.org/D3049 AFFECTED FILES CMakeLists.txt autotests/client/test_wayland_windowmanagement.cpp src/client/CMakeLists.txt src/client/plasmawindowmanagement.cpp src/client/protocols/plasma-window-management.xml src/client/registry.cpp src/server/CMakeLists.txt src/server/plasmawindowmanagement_interface.cpp src/server/plasmawindowmanagement_interface.h src/tools/CMakeLists.txt tests/CMakeLists.txt EMAIL PREFERENCES https://phabricator.kde.org/settings/panel/emailpreferences/ To: graesslin, #plasma_on_wayland, hein Cc: plasma-devel, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas