diff options
| -rw-r--r-- | st.c | 18 |
1 files changed, 13 insertions, 5 deletions
| @@ -185,9 +185,9 @@ static char* kmap(KeySym); | |||
| 185 | static void kpress(XEvent *); | 185 | static void kpress(XEvent *); |
| 186 | static void resize(XEvent *); | 186 | static void resize(XEvent *); |
| 187 | static void focus(XEvent *); | 187 | static void focus(XEvent *); |
| 188 | static void brelease(XEvent *e); | 188 | static void brelease(XEvent *); |
| 189 | static void bpress(XEvent *e); | 189 | static void bpress(XEvent *); |
| 190 | static void bmotion(XEvent *e); | 190 | static void bmotion(XEvent *); |
| 191 | 191 | ||
| 192 | 192 | ||
| 193 | static void (*handler[LASTEvent])(XEvent *) = { | 193 | static void (*handler[LASTEvent])(XEvent *) = { |
| @@ -210,6 +210,13 @@ static int cmdfd; | |||
| 210 | static pid_t pid; | 210 | static pid_t pid; |
| 211 | static Selection sel; | 211 | static Selection sel; |
| 212 | 212 | ||
| 213 | void | ||
| 214 | selinit(void) { | ||
| 215 | sel.mode = 0; | ||
| 216 | sel.bx = -1; | ||
| 217 | sel.clip = NULL; | ||
| 218 | } | ||
| 219 | |||
| 213 | static inline int selected(int x, int y) { | 220 | static inline int selected(int x, int y) { |
| 214 | if ((sel.ey==y && sel.by==y)) { | 221 | if ((sel.ey==y && sel.by==y)) { |
| 215 | int bx = MIN(sel.bx, sel.ex); | 222 | int bx = MIN(sel.bx, sel.ex); |
| @@ -261,12 +268,12 @@ static char *getseltext() { | |||
| 261 | } | 268 | } |
| 262 | 269 | ||
| 263 | /* TODO: use X11 clipboard */ | 270 | /* TODO: use X11 clipboard */ |
| 264 | static void clipboard_copy(char *str) { | 271 | static void selcopy(char *str) { |
| 265 | free(sel.clip); | 272 | free(sel.clip); |
| 266 | sel.clip = str; | 273 | sel.clip = str; |
| 267 | } | 274 | } |
| 268 | 275 | ||
| 269 | static void clipboard_paste() { | 276 | static void selpaste() { |
| 270 | if(sel.clip) | 277 | if(sel.clip) |
| 271 | ttywrite(sel.clip, strlen(sel.clip)); | 278 | ttywrite(sel.clip, strlen(sel.clip)); |
| 272 | } | 279 | } |
| @@ -1471,6 +1478,7 @@ main(int argc, char *argv[]) { | |||
| 1471 | tnew(80, 24); | 1478 | tnew(80, 24); |
| 1472 | ttynew(); | 1479 | ttynew(); |
| 1473 | xinit(); | 1480 | xinit(); |
| 1481 | selinit(); | ||
| 1474 | run(); | 1482 | run(); |
| 1475 | return 0; | 1483 | return 0; |
| 1476 | } | 1484 | } |
