Hi, On Thu, Aug 13, 2009 at 02:04:54PM +0100, Robert McQueen wrote: > I believe libvncserver (inside Vino) already uses damage and composite > internally, to get a pixbuf for the root window. So I think its not too > hard to modify it to look at one particular window, but the devil is in > the details. There are a lot of them. :( > > [...] > > * Input delivery is also... fun. Because currently, X input doesn't > support co-ordinate redirection, so input events are absolute. You get > the problem that if an application's window is covered by another at > that absolute screen position, you can't deliver remotely-originated > events to the right application.
This is pretty much the kicker. There's XSendEvent, but pretty much every toolkit/app ever goes out of its way to ignore it. Don't ask why it exists. > * If an application is minimised, usually the window manager unmaps it, > which means it stops being rendered by the application. If an > application is locally minimised, but remotely still visible, the > window manager needs to keep it mapped even if it's not being > composited onto the screen. I think most compositing WMs just move them offscreen these days. > So because of these issues, and partly for efficiency's sake, then I > think this kind of single-app-sharing functionality would need to be > done with the collusion of a compositing window manager, to track which > windows belong to which application, map them off-screen so they > actually render, make sure the user is aware what is being shared, and > arrange them off-screen in an appropriate non-overlapping way so you can > transform and deliver input events. If they're offscreen, then it's entirely possible with new enough X servers to create another cursor and just warp that around to your heart's content. This would need minor hackery to allow offscreen input, however (cough). > We thought about having a row of hackergotchies/avatars in the title bar > to show who was using a certain application would be pretty cool. Bonus > points if you then use MPX and have one pointer belonging to each user > who is using the application. Lose points for the application being > utterly confused at that at the moment however. :) Actually, apps are shockingly robust against this kind of thing, mostly, kind of, until you open a menu. Cheers, Daniel
pgpN0hhQyLnDA.pgp
Description: PGP signature
_______________________________________________ telepathy mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/telepathy
