Arg args[16];
Dimension w, h;
Position x, y;
- int i;
+ XWindowAttributes winAt;
+ Window win, dummy;
+ int i, rx, ry;
if(!wg) return;
- i = 0;
- XtSetArg(args[i], XtNx, &x); i++;
- XtSetArg(args[i], XtNy, &y); i++;
- XtSetArg(args[i], XtNwidth, &w); i++;
- XtSetArg(args[i], XtNheight, &h); i++;
- XtGetValues(wg, args, i);
- wp->x = x - 4;
- wp->y = y - 23;
- wp->height = h;
- wp->width = w;
+ win = XtWindow(wg);
+ XGetWindowAttributes(xDisplay, win, &winAt); // this works, where XtGetValues on XtNx, XtNy does not!
+ XTranslateCoordinates (xDisplay, win, winAt.root, -winAt.border_width, -winAt.border_width, &rx, &ry, &dummy);
+ wp->x = rx - winAt.x;
+ wp->y = ry - winAt.y;
+ wp->height = winAt.height;
+ wp->width = winAt.width;
}
void
NULL/* transfer_done_proc */);
}
+void
+CopyFENToClipboard ()
+{ // wrapper to make call from back-end possible
+ CopyPositionProc(NULL, NULL, NULL, NULL);
+}
+
/* function called when the data to Paste is ready */
static void
PastePositionCB (Widget w, XtPointer client_data, Atom *selection,
char buf[MSG_SIZ];
if (appData.debugMode) {
- fprintf(stderr, "StartChildProcess (dir=\"%s\") %s\n",dir, cmdLine);
+ fprintf(debugFP, "StartChildProcess (dir=\"%s\") %s\n",dir, cmdLine);
}
/* We do NOT feed the cmdLine to the shell; we just