I'm implementing the seamless mode (like ICA) for RDP. I'm using a RDP
extension created originally by Martin Wickett
(http://www.codeproject.com/internet/tswindowclipper.asp) My first idea
was to use the shape extension and the window's windows information sent
by this extension to make the seamless windows. Kind of works but the
performance sucks big time.
Right now I'm taking a more direct approach and converting the Windows's
windows to X windows.
For that I'm creating a borderless X window for each Windows's window
created, keeping tracking of that and changing the X window position and
size according to the Windows' window changes. This is now beeing easy
because the whole basis of RDP is to have a desktop and paint the
windows over it. My idea is to "fool" the system saying that I have a
desktop of, say 1024x768 for instance and correct the painting and
drawing operation calculating the differences between the "fake" RDP and
the real X window on the client side. It's somewhat working but things
like movemment are givving me a headache because a lot of things have to
be considered for each operation like text, painting bitmaps, etc. What
do you think about this? Does anyone have a better idea?