From: Christoph Lohmann <20h@r-36.net> Date: Sun, 20 Jan 2013 16:12:41 +0000 (+0100) Subject: Fixing the clipboard copying to st itself. X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af;p=st.git Fixing the clipboard copying to st itself. --- diff --git a/st.c b/st.c index 6749dbd..1a40765 100644 --- a/st.c +++ b/st.c @@ -793,6 +793,7 @@ void selclear(XEvent *e) { void selrequest(XEvent *e) { + fprintf(stderr, "selrequest\n"); XSelectionRequestEvent *xsre; XSelectionEvent xev; Atom xa_targets, string; @@ -828,6 +829,7 @@ selrequest(XEvent *e) { void xsetsel(char *str) { + fprintf(stderr, "xsetsel: %s\n", str); /* register the selection for both the clipboard and the primary */ Atom clipboard; @@ -842,6 +844,7 @@ xsetsel(char *str) { void brelease(XEvent *e) { + fprintf(stderr, "brelease\n"); struct timeval now; if(IS_SET(MODE_MOUSE)) { @@ -2479,6 +2482,7 @@ xzoom(const Arg *arg) void xinit(void) { XSetWindowAttributes attrs; + XGCValues gcvalues; Cursor cursor; Window parent; int sw, sh, major, minor; @@ -2544,7 +2548,10 @@ xinit(void) { usedbe = True; } else { */ - dc.gc = XCreateGC(xw.dpy, parent, 0, 0); + memset(&gcvalues, 0, sizeof(gcvalues)); + gcvalues.graphics_exposures = False; + dc.gc = XCreateGC(xw.dpy, parent, GCGraphicsExposures, + &gcvalues); xw.buf = XCreatePixmap(xw.dpy, xw.win, xw.w, xw.h, DefaultDepth(xw.dpy, xw.scr)); XSetForeground(xw.dpy, dc.gc, 0); @@ -2872,7 +2879,6 @@ draw(void) { XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, xw.w, xw.h, 0, 0); XSetForeground(xw.dpy, dc.gc, 0); - XSync(xw.dpy, False); } } @@ -3169,6 +3175,7 @@ run(void) { XNextEvent(xw.dpy, &ev); if(XFilterEvent(&ev, None)) continue; + fprintf(stderr, "ev.type = %d\n", ev.type); if(handler[ev.type]) (handler[ev.type])(&ev); }