Diffusion KWin 920c810747a3

emit windowClosed when a wayland surface is unmapped

Authored by davidedmundson on Aug 21 2018, 5:35 PM.

Description

emit windowClosed when a wayland surface is unmapped

An X client had windowAdded/Closed when it mapped/unmapped
A client has windowShown/Hidden when the Compositor show/hides a window.

Wayland has the annoying case of allowing mapping/unmapping a window
without destroying the ShellClient object that we need to be tracking.
(though now both major toolkits destroy surfaces anyway)

This was solved by repurposing the hide/show for client maps/unmaps, but
this leads to patching effects
(451bbb54ddf864f80142f36a9d5d54f57e434f1c) then D14366 fixing that, and
you'd have to do the same on most other effects and it would become a
mess.

This patch emits windowClosed signals on client map/unmap. To do this
the windowClosed signal is split into two. Also we have to track effect
ref'ing a window on a regular shellclient in case it gets unmapped then
afterwards gets deleted whilst an effect is animating it.

Details

Committed
davidedmundsonAug 24 2018, 10:05 AM
Parents
R108:1238c7bc4736: [autotests] Test ScriptedEffects stackingOrder
Branches
Unknown
Tags
Unknown
References
davidedmundson/waylandWindowClosedOnUnamp