Fixing the clipboard copying to st itself. - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 57f39defaf3f84b5d9efb3e7a8494cc7ff09e7af
 (DIR) parent 3036051fb18addd8ac15eac9e0ef3ee6aeb8bbc6
 (HTM) Author: Christoph Lohmann <20h@r-36.net>
       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(-)
       ---
 (DIR) diff --git 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);
                        }