X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-utils.git;a=blobdiff_plain;f=cprogs%2Fxduplic-copier.c;h=d9703a55e72ed42fb2c51c7ae0a7da054deeda22;hp=46ff0d37161c2530e54114115d2520723459412e;hb=10eb0f32b84cffb4267b32e496b577472ada4277;hpb=2b26b562e42f3d097a34c2e182e850d1e526c75a diff --git a/cprogs/xduplic-copier.c b/cprogs/xduplic-copier.c index 46ff0d3..d9703a5 100644 --- a/cprogs/xduplic-copier.c +++ b/cprogs/xduplic-copier.c @@ -20,10 +20,13 @@ #include #include #include +#include #include #include #include +#include +#include static Display *display; static int selecting, l1_x, l1_y; @@ -142,8 +145,7 @@ static void buttonpress(XButtonEvent *e) { if (e->window != e->root) return; - sw= XmuClientWindow(display, e->subwindow); - if (!sw) { + if (!e->subwindow) { if (!rightbutton) { stopselecting(); } else { @@ -158,6 +160,8 @@ static void buttonpress(XButtonEvent *e) { return; } + sw= XmuClientWindow(display, e->subwindow); + if (sw == w) { beep(); return; } for (ownp=&headwn; @@ -199,7 +203,7 @@ static void keypress(XKeyEvent *e) { (unsigned long)e->time, e->x,e->y, e->x_root,e->y_root, e->state, e->keycode, (int)e->same_screen); - if (XKeycodeToKeysym(display, e->keycode, 0) == XK_q) _exit(1); + if (XkbKeycodeToKeysym(display, e->keycode, 0, 0) == XK_q) _exit(1); beep(); return; } for (own=headwn; own; own=own->next) { @@ -231,6 +235,7 @@ int main(int argc, const char **argv) { Font font; display= XOpenDisplay(0); + if (!display) { fputs("XOpenDisplay failed\n",stderr); exit(-1); } screen= DefaultScreen(display); cmap= DefaultColormap(display,screen); root= DefaultRootWindow(display);