diff options
author | Christoph Lohmann | 2013-01-20 17:12:41 +0100 |
---|---|---|
committer | Christoph Lohmann | 2013-01-20 17:12:41 +0100 |
commit | 57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af (patch) | |
tree | 8dc3beff20c36b49efd4e22e96262953a1a12af6 | |
parent | 3036051fb18addd8ac15eac9e0ef3ee6aeb8bbc6 (diff) | |
download | st-57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af.tar.gz st-57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af.tar.xz st-57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af.zip |
Fixing the clipboard copying to st itself.
-rw-r--r-- | st.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -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); } |