XDamage extension over-reports window damage

Joel Dice dicej at mailsnare.net
Sat Jan 29 15:59:00 PST 2005


On Sat, 29 Jan 2005, Owen Taylor wrote:

> On Sat, 2005-01-29 at 11:27 -0500, Jonathan Lennox wrote:
>> On Thursday, January 27 2005, "Owen Taylor" wrote to "Jonathan Lennox, 
>> Keith Packard, xorg at lists.freedesktop.org" saying:
>>
>>> Any impetus for action here is decreased by the move to  Composite that
>>> is under way. Once we are keeping full contents for all toplevel
>>> windows, they will never be covered, so tracking that isn't very
>>> interesting.
>>
>> For application sharing, there is (potentially) a motivation to keep track
>> of what the user can actually *see* -- the idea is that if the user covers
>> up part of a window with another one, the application sharing server
>> shouldn't send that window part, for privacy reasons.
>
> Sounds a bit annoying ... like having two people confined to work
> on a 1 ft square desk. "Hey, move your paper, I'm looking at that!" :-)
>
>> As Joel Dice mentioned, with the current X protocol, it's possible for 
>> a client to manually track the positions and stacking of all top-level 
>> windows and so compute which parts of the windows of interest are 
>> visible to the user.
>>
>> Is this possible with the composite extension?  I'm not very familiar with
>> the details of that.
>
> Is a window visible if another translucent window is on top?
> Is a window visible if it is on a different desktop with a live
> thumbnail?
> Is a window visible if it is turned in 3d at an extreme angle from the
> viewer?

Based on the feedback I've had from our users, I can say that novices 
are often confused when they observe that "chunks are missing" from shared 
windows due to overlapping by non-shared windows.  This can be alleviated 
by using a watermark or some other visual cue, but if the overlapped data 
remains available, it should be shared IMHO.

It depends on how you interpret the semantics of application-sharing 
versus desktop-sharing.  I would suggest that, if a user wants remote 
observers to see exactly what she sees locally, she will choose 
desktop-sharing.  To me, application-sharing means sharing the 
application, the whole application, and nothing but the application, prior 
to any transformations and compositing operations relative to non-shared 
windows.

Such an interpretation would require grabbing the data for each shared 
window prior to any compositing, and either compositing overlapping shared 
windows before sending the data to the server, or sending it all as-is, 
leaving the compositing to the observer clients.  Transformations such as 
3D rotations and thumbnailing would have no influence.

Frankly, I don't see how any other approach is feasable when translucency 
and transformations are involved, especially since the compositing manager 
is not part of the server and can do whatever it wants with the desktop.

>
> All of these things have been done already with the composite extension.
> The compositing manager / window manager could give hints to the
> application about what is visible via properties, but I don't think the
> concept makes sense at the base window system level.
>
> Regards,
> 						Owen
>
>



More information about the xorg mailing list