st

fork of suckless's simple terminal
Index Commits Files Refs README LICENSE
commit f211bc2eedaa8ea86dc66ad04ccd08938c73a93c
parent ee858b4805aec3e12bff48cf27433ebcd3f6ac34
Author: Aurélien Aptel <aurelien.aptel@gmail.com>
Date:   Tue, 31 Aug 2010 16:30:11 +0200

move event configuration in xinit().

Diffstat:
Mst.c | 18++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/st.c b/st.c
@@ -210,8 +210,6 @@ static int cmdfd;
 static pid_t pid;
 static Selection sel;
 
-/* TODO: use X11 clipboard */
-
 static inline int selected(int x, int y) {
     if ((sel.ey==y && sel.by==y)) {
         int bx = MIN(sel.bx, sel.ex);
@@ -262,6 +260,7 @@ static char *getseltext() {
     return str;
 }
 
+/* TODO: use X11 clipboard */
 static void clipboard_copy(char *str) {
     free(sel.clip);
     sel.clip = str;
@@ -272,7 +271,7 @@ static void clipboard_paste() {
         ttywrite(sel.clip, strlen(sel.clip));
 }
 
-// TODO: doubleclick to select word
+/* TODO: doubleclick to select word */
 static void brelease(XEvent *e) {
     int b;
     sel.mode = 0;
@@ -1214,9 +1213,14 @@ xinit(void) {
     xw.bufw = xw.w - 2*BORDER;
     xw.bufh = xw.h - 2*BORDER;
     xw.buf = XCreatePixmap(xw.dis, xw.win, xw.bufw, xw.bufh, XDefaultDepth(xw.dis, xw.scr));
-    xw.hasfocus = 1;
     /* gc */
     dc.gc = XCreateGC(xw.dis, xw.win, 0, NULL);
+    
+    /* event mask */
+    XSelectInput(xw.dis, xw.win, ExposureMask | KeyPressMask
+        | StructureNotifyMask | FocusChangeMask | PointerMotionMask
+        | ButtonPressMask | ButtonReleaseMask);
+    
     XMapWindow(xw.dis, xw.win);
     xhints();
     XStoreName(xw.dis, xw.win, "st");
@@ -1435,12 +1439,6 @@ run(void) {
     XEvent ev;
     fd_set rfd;
     int xfd = XConnectionNumber(xw.dis);
-    long mask = ExposureMask | KeyPressMask | StructureNotifyMask
-        | FocusChangeMask | PointerMotionMask | ButtonPressMask 
-        | ButtonReleaseMask;
-
-    XSelectInput(xw.dis, xw.win, mask);
-    XResizeWindow(xw.dis, xw.win, xw.w, xw.h); /* XXX: fix resize bug in wmii (?) */
 
     for(;;) {
         FD_ZERO(&rfd);