Sometimes I use some kwin effects to revert the colours of the entire screen, but then i re-revert them on yakuake, because they already have black background in my configuration. What happens is that as soon as I "fold" yakuake, the reverse colour will reset. Reproducible: Always
Yakuake doesn't destroy its window, though, it only hides it.
So is this a kwin bug?
I think it's reasonable to expect that kwin would remember it across a window hide+show, yeah. I'll move it and we can see what kwin thinks.
as we apply the slidingpopup animation we can be quite certain that the we get a windowClosed signal. This means the effect doesn't know anything about the window any more. Sorry, don't think there is anything we could do about it.
But isn't hidden different from closed?
Hiding a Qt window with hide() destroys the X11 window. If you want to keep the X11 window, use Minimized state. "Hidden" does not exist in X11 terminology.
> But isn't hidden different from closed? no, Client::windowClosed gets emitted from: * Client::releaseWindow * Client::destroyClient and both in the end destroy the Client instance.
as a note: one could probably write a script to trigger the shortcut to invert the colors on the window whenever Yakuake gets shown
The only way around this would be _KDE_NET_WM_STATE_INVERTED or sth. which the client could set (and read before destroying the window) and the effect pick up to auto-invert the window. Preserving such hint from the WM is no option since the WM is obliged to remove this hints by NETWM spec because the client may "want to reuse withdrawn windows"
Or could be a window rule which makes it a duplicate of the general we need window rules for effects. *** This bug has been marked as a duplicate of bug 99198 ***