diff options
Diffstat (limited to 'st.c')
| -rw-r--r-- | st.c | 22 |
1 files changed, 6 insertions, 16 deletions
| @@ -249,19 +249,15 @@ static char *getseltext() { | |||
| 249 | int ls, x, y, sz; | 249 | int ls, x, y, sz; |
| 250 | if(sel.bx==-1) | 250 | if(sel.bx==-1) |
| 251 | return NULL; | 251 | return NULL; |
| 252 | sz = ((xw.w/xw.ch) * (sel.e[1]-sel.b[1]+2)); | 252 | sz = ((term.col+1) * (sel.e[1]-sel.b[1]+1)); |
| 253 | ptr = str = malloc (sz); | 253 | ptr = str = malloc (sz); |
| 254 | for(y = 0; y < term.row; y++) { | 254 | for(y = 0; y < term.row; y++) { |
| 255 | for(x = 0; x < term.col; x++) { | 255 | for(x = 0; x < term.col; x++) { |
| 256 | if(term.line[y][x].state & GLYPH_SET && (ls=selected(x, y))) { | 256 | if(term.line[y][x].state & GLYPH_SET && (ls=selected(x, y))) |
| 257 | *ptr = term.line[y][x].c; | 257 | *ptr = term.line[y][x].c, ptr++; |
| 258 | ptr++; | ||
| 259 | } | ||
| 260 | } | ||
| 261 | if (ls) { | ||
| 262 | *ptr = '\n'; | ||
| 263 | ptr++; | ||
| 264 | } | 258 | } |
| 259 | if (ls) | ||
| 260 | *ptr = '\n', ptr++; | ||
| 265 | } | 261 | } |
| 266 | *ptr = 0; | 262 | *ptr = 0; |
| 267 | return str; | 263 | return str; |
| @@ -283,12 +279,6 @@ static void brelease(XEvent *e) { | |||
| 283 | int b; | 279 | int b; |
| 284 | sel.mode = 0; | 280 | sel.mode = 0; |
| 285 | getbuttoninfo(e, &b, &sel.ex, &sel.ey); | 281 | getbuttoninfo(e, &b, &sel.ex, &sel.ey); |
| 286 | if(b==4) | ||
| 287 | tscrollup(1); | ||
| 288 | else | ||
| 289 | if(b==5) | ||
| 290 | tscrolldown(1); | ||
| 291 | else | ||
| 292 | if(sel.bx==sel.ex && sel.by==sel.ey) { | 282 | if(sel.bx==sel.ex && sel.by==sel.ey) { |
| 293 | sel.bx = -1; | 283 | sel.bx = -1; |
| 294 | if(b==2) | 284 | if(b==2) |
| @@ -1411,7 +1401,7 @@ kpress(XEvent *ev) { | |||
| 1411 | break; | 1401 | break; |
| 1412 | case XK_Insert: | 1402 | case XK_Insert: |
| 1413 | if(shift) | 1403 | if(shift) |
| 1414 | draw(1), puts("draw!")/* XXX: paste X clipboard */; | 1404 | selpaste(), draw(1); |
| 1415 | break; | 1405 | break; |
| 1416 | default: | 1406 | default: |
| 1417 | fprintf(stderr, "errkey: %d\n", (int)ksym); | 1407 | fprintf(stderr, "errkey: %d\n", (int)ksym); |
