diff options
| author | Aurélien Aptel <aurelien.aptel@gmail.com> | 2010-08-31 16:30:11 +0200 |
|---|---|---|
| committer | Aurélien Aptel <aurelien.aptel@gmail.com> | 2010-08-31 16:30:11 +0200 |
| commit | f211bc2eedaa8ea86dc66ad04ccd08938c73a93c (patch) | |
| tree | cdcd54ff608220c4690d4f8fbd8326b3eb9eafbf | |
| parent | ee858b4805aec3e12bff48cf27433ebcd3f6ac34 (diff) | |
| download | st-f211bc2eedaa8ea86dc66ad04ccd08938c73a93c.tar.gz st-f211bc2eedaa8ea86dc66ad04ccd08938c73a93c.zip | |
move event configuration in xinit().
| -rw-r--r-- | st.c | 18 |
1 files changed, 8 insertions, 10 deletions
| @@ -210,8 +210,6 @@ static int cmdfd; | |||
| 210 | static pid_t pid; | 210 | static pid_t pid; |
| 211 | static Selection sel; | 211 | static Selection sel; |
| 212 | 212 | ||
| 213 | /* TODO: use X11 clipboard */ | ||
| 214 | |||
| 215 | static inline int selected(int x, int y) { | 213 | static inline int selected(int x, int y) { |
| 216 | if ((sel.ey==y && sel.by==y)) { | 214 | if ((sel.ey==y && sel.by==y)) { |
| 217 | int bx = MIN(sel.bx, sel.ex); | 215 | int bx = MIN(sel.bx, sel.ex); |
| @@ -262,6 +260,7 @@ static char *getseltext() { | |||
| 262 | return str; | 260 | return str; |
| 263 | } | 261 | } |
| 264 | 262 | ||
| 263 | /* TODO: use X11 clipboard */ | ||
| 265 | static void clipboard_copy(char *str) { | 264 | static void clipboard_copy(char *str) { |
| 266 | free(sel.clip); | 265 | free(sel.clip); |
| 267 | sel.clip = str; | 266 | sel.clip = str; |
| @@ -272,7 +271,7 @@ static void clipboard_paste() { | |||
| 272 | ttywrite(sel.clip, strlen(sel.clip)); | 271 | ttywrite(sel.clip, strlen(sel.clip)); |
| 273 | } | 272 | } |
| 274 | 273 | ||
| 275 | // TODO: doubleclick to select word | 274 | /* TODO: doubleclick to select word */ |
| 276 | static void brelease(XEvent *e) { | 275 | static void brelease(XEvent *e) { |
| 277 | int b; | 276 | int b; |
| 278 | sel.mode = 0; | 277 | sel.mode = 0; |
| @@ -1214,9 +1213,14 @@ xinit(void) { | |||
| 1214 | xw.bufw = xw.w - 2*BORDER; | 1213 | xw.bufw = xw.w - 2*BORDER; |
| 1215 | xw.bufh = xw.h - 2*BORDER; | 1214 | xw.bufh = xw.h - 2*BORDER; |
| 1216 | xw.buf = XCreatePixmap(xw.dis, xw.win, xw.bufw, xw.bufh, XDefaultDepth(xw.dis, xw.scr)); | 1215 | xw.buf = XCreatePixmap(xw.dis, xw.win, xw.bufw, xw.bufh, XDefaultDepth(xw.dis, xw.scr)); |
| 1217 | xw.hasfocus = 1; | ||
| 1218 | /* gc */ | 1216 | /* gc */ |
| 1219 | dc.gc = XCreateGC(xw.dis, xw.win, 0, NULL); | 1217 | dc.gc = XCreateGC(xw.dis, xw.win, 0, NULL); |
| 1218 | |||
| 1219 | /* event mask */ | ||
| 1220 | XSelectInput(xw.dis, xw.win, ExposureMask | KeyPressMask | ||
| 1221 | | StructureNotifyMask | FocusChangeMask | PointerMotionMask | ||
| 1222 | | ButtonPressMask | ButtonReleaseMask); | ||
| 1223 | |||
| 1220 | XMapWindow(xw.dis, xw.win); | 1224 | XMapWindow(xw.dis, xw.win); |
| 1221 | xhints(); | 1225 | xhints(); |
| 1222 | XStoreName(xw.dis, xw.win, "st"); | 1226 | XStoreName(xw.dis, xw.win, "st"); |
| @@ -1435,12 +1439,6 @@ run(void) { | |||
| 1435 | XEvent ev; | 1439 | XEvent ev; |
| 1436 | fd_set rfd; | 1440 | fd_set rfd; |
| 1437 | int xfd = XConnectionNumber(xw.dis); | 1441 | int xfd = XConnectionNumber(xw.dis); |
| 1438 | long mask = ExposureMask | KeyPressMask | StructureNotifyMask | ||
| 1439 | | FocusChangeMask | PointerMotionMask | ButtonPressMask | ||
| 1440 | | ButtonReleaseMask; | ||
| 1441 | |||
| 1442 | XSelectInput(xw.dis, xw.win, mask); | ||
| 1443 | XResizeWindow(xw.dis, xw.win, xw.w, xw.h); /* XXX: fix resize bug in wmii (?) */ | ||
| 1444 | 1442 | ||
| 1445 | for(;;) { | 1443 | for(;;) { |
| 1446 | FD_ZERO(&rfd); | 1444 | FD_ZERO(&rfd); |
