Bug 337 - Rdesktop doesn't support the INCR protocol when transferring clipboard data.
Summary: Rdesktop doesn't support the INCR protocol when transferring clipboard data.
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: | rdesktop (deprecated) (show other bugs)
Version: trunk
Hardware: PC Linux
: P2 Enhancement
Target Milestone: 4.10.0
Assignee: Peter Åstrand
Keywords: forsberg_tester
Depends on:
Blocks: 491 5336
  Show dependency treegraph
Reported: 2003-08-20 16:52 CEST by Erik Forsberg
Modified: 2019-02-07 15:51 CET (History)
0 users

See Also:
Acceptance Criteria:

Patch from Burt. Makes INCR work better, but not perfect. (1.03 KB, patch)
2005-11-08 09:13 CET, Erik Forsberg

Description Erik Forsberg cendio 2003-08-20 16:52:31 CEST
Rdesktop doesn't support the INCR protocol (defined in the ICCCM), which is
needed for really large clipboard transfers.
Comment 1 Erik Forsberg cendio 2004-04-01 09:41:01 CEST
Complicated bug, retargeting.
Comment 2 Peter Åstrand cendio 2004-11-08 11:52:10 CET
One simple solution could be to pop up a dialog that says the the clip text is
too large. 
Comment 3 Erik Forsberg cendio 2004-11-22 14:36:23 CET
AFAIK, we haven't heard anyone complaining on not being able to move large
clipboard data chunks. My suggestion is that we move this to 'Future/Ondemand'.
Comment 4 Erik Forsberg cendio 2004-11-22 15:11:27 CET
On the other hand, we'll probably have to fix this in order to be able to fix
bug 491.
Comment 5 Erik Forsberg cendio 2004-11-23 14:14:36 CET
Supporting the INCR protocol is not trivial, but it should be doable.

Basically, when a requestor wants clipboard data from rdesktop, rdesktop should
respond with a property of type INCR containg a number that represents the size
of the clipboard data. The requestor deletes the property which signals to
rdesktop (via a PropertyNotify) that the data transfer should start. Rdesktop
should then send data in suitable chunks to the property named by the requestor
in the initial ConvertSelection call and wait for new PropertyNotify signals. To
end data transfer, a zero-sized data chunk is written to the property on the

We're already listening for PropertyChange, so in theory, we should be able to
extend xclip_handle_PropertyNotify and make it send data with INCR. At least,
that's my initial idea.

The other case, receiving data via INCR from other X clients must also be covered. 

Of course, synchronization with the clipboard mechanism of Windows must also
happend, either simply by buffering all data before sending, or more
complicated, by actually sending data as it comes in. One problem might be that
the package size for intermediate Windows clipboard data might be incompatible
with the size of the data received from other clients, so we'll probably have to
buffer anyway.

As a beginning for implementation of this, we need to find other X programs that
behave good so we have something to test against.
Comment 6 Peter Åstrand cendio 2004-11-23 14:55:03 CET
Later, now that bug 491 has been moved. 
Comment 7 Peter Åstrand cendio 2005-06-27 14:22:43 CEST
INCR support has been implemented by Burt Holzman. I've applied the patch to
rdesktop. A new snapshot has been imported to the ctc tree. 

During the 1.4.1 testing, we should verify that INCR works. 
Comment 8 Erik Forsberg cendio 2005-10-13 11:45:38 CEST
I tried to cut'n paste a really large piece of text from OOo to winword on orson. 

Doesn't work, winword hangs with a hourglass for a very long time. 

I'll reopen and retarget to 1.5.0, so we can bugreport and/or find a solution.
Comment 9 Peter Åstrand cendio 2005-10-31 17:12:52 CET
We should checkout

Comment 10 Erik Forsberg cendio 2005-11-07 13:29:38 CET
The link in comment#9 is about a patch where the author specifically says
"Didn't touch INCR", so it probably wont help :-).
Comment 11 Erik Forsberg cendio 2005-11-08 09:13:05 CET
Got a patch from Burt Holzman, which makes things work better, although not
perfect. The last lines of the area doesn't get transferred. I've reported this
back to Burt. 
Comment 12 Erik Forsberg cendio 2005-11-08 09:13:54 CET
Created attachment 149 [details]
Patch from Burt. Makes INCR work better, but not perfect.
Comment 13 Erik Forsberg cendio 2005-11-10 10:03:01 CET
Got another patch from Burt that makes earlier failing test case succeed. I've
commited this to rdesktop cvs.

There are still trouble when doing large INCR using native windows clipboard
formats. Burt said he would try to look into this in the near future. 
Comment 14 Erik Forsberg cendio 2005-11-15 17:47:02 CET
Most of the work is done by people on the rdesktop list, we're only testing and
commiting their code.
Comment 15 Pierre Ossman cendio 2014-11-14 11:55:45 CET
Looks like we can send INCR, but not receive it. Need to finish this.
Comment 16 Pierre Ossman cendio 2019-02-07 15:42:44 CET
rdesktop (and associated tools) is being removed from the ThinLinc product.

Note You need to log in before you can comment on or make changes to this bug.