st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit 35421371ca150b6bd0fd1330e7b30a99029dbce1
parent ee3fbeb6c8c354cf4db226a5b1583c531ea37af4
Author: Christoph Lohmann <20h@r-36.net>
Date:   Sun, 28 Oct 2012 06:32:54 +0100

Applying the patch of Rafa Garcia Gallega <rafael.garcia.gallego@gmail.com> to

not emulate the vt100 behaviour of selecting all whitespaces. Thanks!
Diffstat:
Mst.c | 11++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/st.c b/st.c
@@ -678,7 +678,7 @@ bpress(XEvent *e) {
 
 void
 selcopy(void) {
-    char *str, *ptr, *p;
+    char *str, *ptr;
     int x, y, bufsize, is_selected = 0, size;
     Glyph *gp;
 
@@ -693,11 +693,12 @@ selcopy(void) {
             for(x = 0; x < term.col; x++) {
                 gp = &term.line[y][x];
 
-                if(!(is_selected = selected(x, y)))
+                if(!(is_selected = selected(x, y))
+                        || !(gp->state & GLYPH_SET)) {
                     continue;
-                p = (gp->state & GLYPH_SET) ? gp->c : " ";
-                size = utf8size(p);
-                memcpy(ptr, p, size);
+                }
+                size = utf8size(gp->c);
+                memcpy(ptr, gp->c, size);
                 ptr += size;
             }
             /* \n at the end of every selected line except for the last one */