-
Summary: The primary task of a compositor is to take a bunch of buffers from different clients and present them on the screen. However, the compositor may need to present its own stuff on the screen as well. On X11, internal clients (the ones created by KWin) are backed by real windows. This looks a bit clumsy since KWin uses X11 to communicate with itself. On Wayland, we use our own QPA that talks to KWin directly. Given that internal clients with the custom QPA are no longer backed by wayland surfaces or x11 windows, things like blur, background contrast, and shadows must be set through KWindowSystem APIs so KWin can catch the relevant API calls and handle them accordingly. The good thing is that we get rid of a good portion of platform-specific code. The bad thing is that we still need to be cautious about QPAs that destroy the underlying platform resources upon a window becoming hidden. Reviewers: #kwin, #plasma, mart Reviewed By: #plasma, mart Subscribers: mart, plasma-devel Tags: #plasma Maniphest Tasks: T12496 Differential Revision: https://phabricator.kde.org/D26475
7f3ae29b