commit - bebdea4e8e1a93c14099a7b8182ddfcb6d2cae14
commit + 4fc1aa09a95ca3fc4716a98a264a3f58b95b0d2a
blob - bad110f743952b77250b050b3423857cd6686e02
blob + 05431b61627b6efc41e18d0d66b2280da50d3fab
--- src/libdraw/x11-itrans.c
+++ src/libdraw/x11-itrans.c
PasteboardItemID id;
PasteboardSyncFlags flags;
UInt32 i;
-
+
+// fprint(2, "applegetsnarf\n");
qlock(&clip.lk);
if(clip.apple == nil){
if(PasteboardCreate(kPasteboardClipboard, &clip.apple) != noErr){
}
flags = PasteboardSynchronize(clip.apple);
if(flags&kPasteboardClientIsOwner){
+ s = strdup(clip.buf);
qunlock(&clip.lk);
- return strdup(clip.buf);
+ return s;
}
if(PasteboardGetItemCount(clip.apple, &nitem) != noErr){
fprint(2, "apple pasteboard get item count failed\n");
CFDataRef cfdata;
PasteboardSyncFlags flags;
+// fprint(2, "appleputsnarf\n");
+
if(strlen(s) >= SnarfSize)
return;
qlock(&clip.lk);
/* CFRelease(cfdata); ??? */
qunlock(&clip.lk);
}
+static int useapplesnarf = -1;
+static int
+checkapplesnarf(void)
+{
+ char *x;
+
+ x = getenv("USEX11SNARF");
+ if(x && x[0])
+ return 0;
+ return 1;
+}
#endif /* APPLESNARF */
void
putsnarf(char *data)
{
#ifdef APPLESNARF
- if(1){
+ if(useapplesnarf == -1)
+ useapplesnarf = checkapplesnarf();
+ if(useapplesnarf){
appleputsnarf(data);
return;
}
getsnarf(void)
{
#ifdef APPLESNARF
- if(1)
+ if(useapplesnarf == -1)
+ useapplesnarf = checkapplesnarf();
+ if(useapplesnarf)
return applegetsnarf();
#endif
return _xgetsnarf(_x.snarfcon);