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