[kstyle] Port to KWindowSystem shadows API

Authored by zzag on Jan 12 2020, 5:31 PM.

Description

[kstyle] Port to KWindowSystem shadows API

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

Details

Committed
zzagJan 22 2020, 12:23 AM
Reviewer
Plasma
Differential Revision
D26475: [kstyle] Port to KWindowSystem shadows API
Parents
R31:2df91ac9a328: [kstyle] Drop Qt 4 style plugin
Branches
Unknown
Tags
Unknown