[hackers] [st] Fixing the clipboard copying to st itself. || Christoph Lohmann

From: <git_AT_suckless.org>
Date: Sun, 20 Jan 2013 17:12:55 +0100

commit 57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af
Author: Christoph Lohmann <20h_AT_r-36.net>
Date: Sun Jan 20 17:12:41 2013 +0100

    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
_AT_@ -793,6 +793,7 @@ void selclear(XEvent *e) {
 
 void
 selrequest(XEvent *e) {
+ fprintf(stderr, "selrequest
");
         XSelectionRequestEvent *xsre;
         XSelectionEvent xev;
         Atom xa_targets, string;
_AT_@ -828,6 +829,7 @@ selrequest(XEvent *e) {
 
 void
 xsetsel(char *str) {
+ fprintf(stderr, "xsetsel: %s
", str);
         /* register the selection for both the clipboard and the primary */
         Atom clipboard;
 
_AT_@ -842,6 +844,7 @@ xsetsel(char *str) {
 
 void
 brelease(XEvent *e) {
+ fprintf(stderr, "brelease
");
         struct timeval now;
 
         if(IS_SET(MODE_MOUSE)) {
_AT_@ -2479,6 +2482,7 @@ xzoom(const Arg *arg)
 void
 xinit(void) {
         XSetWindowAttributes attrs;
+ XGCValues gcvalues;
         Cursor cursor;
         Window parent;
         int sw, sh, major, minor;
_AT_@ -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);
_AT_@ -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);
         }
 }
 
_AT_@ -3169,6 +3175,7 @@ run(void) {
                         XNextEvent(xw.dpy, &ev);
                         if(XFilterEvent(&ev, None))
                                 continue;
+ fprintf(stderr, "ev.type = %d
", ev.type);
                         if(handler[ev.type])
                                 (handler[ev.type])(&ev);
                 }
Received on Sun Jan 20 2013 - 17:12:55 CET

This archive was generated by hypermail 2.3.0 : Sun Jan 20 2013 - 17:24:06 CET