tFixing the clipboard copying to st itself. - st - [fork] customized build of s… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af | |
parent 3036051fb18addd8ac15eac9e0ef3ee6aeb8bbc6 | |
Author: Christoph Lohmann <[email protected]> | |
Date: Sun, 20 Jan 2013 17:12:41 +0100 | |
Fixing the clipboard copying to st itself. | |
Diffstat: | |
M st.c | 11 +++++++++-- | |
1 file changed, 9 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -793,6 +793,7 @@ void selclear(XEvent *e) { | |
void | |
selrequest(XEvent *e) { | |
+ fprintf(stderr, "selrequest\n"); | |
XSelectionRequestEvent *xsre; | |
XSelectionEvent xev; | |
Atom xa_targets, string; | |
t@@ -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; | |
t@@ -842,6 +844,7 @@ xsetsel(char *str) { | |
void | |
brelease(XEvent *e) { | |
+ fprintf(stderr, "brelease\n"); | |
struct timeval now; | |
if(IS_SET(MODE_MOUSE)) { | |
t@@ -2479,6 +2482,7 @@ xzoom(const Arg *arg) | |
void | |
xinit(void) { | |
XSetWindowAttributes attrs; | |
+ XGCValues gcvalues; | |
Cursor cursor; | |
Window parent; | |
int sw, sh, major, minor; | |
t@@ -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); | |
t@@ -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); | |
} | |
} | |
t@@ -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); | |
} |