commit - e03f2c40696291e806b38fbc372c51f0556179cc
commit + b9b653584e8622fc5d23e8f761a88b415f2f0167
blob - bc8dc218eb9e928916205d9a8f5d6ca8bd37f843
blob + 538028da9860e286ded1e59d990fdb1a4ba7511f
--- src/libdraw/x11-itrans.c
+++ src/libdraw/x11-itrans.c
XChangeProperty(xd, xe->requestor, xe->property, xe->target,
8, PropModeReplace, (uchar*)a, sizeof a);
- }else if(xe->target == XA_STRING || xe->target == _x.utf8string || xe->target == _x.text || xe->target == _x.compoundtext){
+ }else if(xe->target == XA_STRING
+ || xe->target == _x.utf8string
+ || xe->target == _x.text
+ || xe->target == _x.compoundtext
+ || ((name = XGetAtomName(xd, xe->target)) && strcmp(name, "text/plain;charset=UTF-8") == 0)){
+ /* text/plain;charset=UTF-8 seems nonstandard but is used by Synergy */
/* if the target is STRING we're supposed to reply with Latin1 XXX */
qlock(&clip.lk);
XChangeProperty(xd, xe->requestor, xe->property, xe->target,
8, PropModeReplace, (uchar*)clip.buf, strlen(clip.buf));
qunlock(&clip.lk);
}else{
- name = XGetAtomName(xd, xe->target);
if(strcmp(name, "TIMESTAMP") != 0)
fprint(2, "%s: cannot handle selection request for '%s' (%d)\n", argv0, name, (int)xe->target);
r.xselection.property = None;