[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    Re: Display windows via composite and without in the same time.
From:       Thomas_Lübking <thomas.luebking () gmail ! com>
Date:       2013-08-20 18:03:31
Message-ID: 0b007f5e-5ba7-4f6c-bbea-4b4af8ff5254 () gmail ! com
[Download RAW message or body]

On Dienstag, 20. August 2013 18:56:43 CEST, Andrew V. Stepanov wrote:

> In сomposite mode new windows reparented to Redirected windows.
OT, but the windows are reparented into a container (alongside their decoration) - \
that's unrelated to compositing.

> Is it possible to have _few_ windows that are not Redirected to Composite,
> and all other that are redirected to composite?

> [...]

> Is there method to switch some window from displaying via composite?

Not w/o hacking KWin. Holds for (nearly, i guess xcompmgr could still be handled from \
the outside) all Compositors, though.

Above all "regular" windows is an "overlay" window - an OutputOnly window which \
displays the composited scene (and hides all other windows) If you want to unredirect \
(no problem) AND show a particular window on screen, it must not be covered by the \
overlay window (in the visible area) ie. the overlay windows needs to be shaped away \
in (unoccluded) regions of that window.

You'll have to introduce a (eg. rule driven or scriptable) list of unredirected \
clients and whenever the geometry or stacking order of *any* client changes \
(visually, not from Configure notifications which are eg. no longer sent when windows \
are moved, just at the end of that) recalculate it's occlusion (ignoring any window \
transparency etc. which would simply not be possible on top of this window) and \
update the shape mask of the overlay to reflect the usually visible part of the \
window.

This will not reasonably work when the scene is transformed (present windows, the \
cube etc.) so you may want to drop the overlay shaping in that occasions (show the \
full scene) and show a placeholder texture ("TOP SECRET") for the critical window \
instead.

> The main reason to do this is security aspect.

A more simple solution would be to setup rules for the critical clients to suspend \
the compositor (no compositing, no redirection - for no window. No shadows or other \
effects either, though)

Depends on the scale of your project, i'd say.

If "you" is "you only" and the relevant window is the banking client you run for 30 \
minutes a week, there's little point in hacking KWin - esp. since if the feature \
isn't upstreamed you'll have to constantly rebase the patches.

Cheers,
Thomas
_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic