X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=main.c;h=d9ca9f734f8535e5a0baa2170b0ec8410313a789;hb=e3fd306ee2aa5b92bf4fba339a1ef0d88a97a5dc;hp=bfc63b163cb4f82befa90a16eb26c73676f2189d;hpb=0e5c8198bc5a69e87b0114b81d6569188828edfa;p=dwm.git diff --git a/main.c b/main.c index bfc63b1..d9ca9f7 100644 --- a/main.c +++ b/main.c @@ -264,6 +264,10 @@ main(int argc, char *argv[]) XDefineCursor(dpy, barwin, cursor[CurNormal]); XMapRaised(dpy, barwin); + dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen)); + dc.gc = XCreateGC(dpy, root, 0, 0); + draw_bar(); + issel = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask); wa.event_mask = SubstructureRedirectMask | EnterWindowMask \ @@ -272,14 +276,11 @@ main(int argc, char *argv[]) XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa); - dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen)); - dc.gc = XCreateGC(dpy, root, 0, 0); - strcpy(stext, "dwm-"VERSION); scan_wins(); - draw_bar(); /* main event loop, reads status text from stdin as well */ +Mainloop: while(running) { FD_ZERO(&rd); FD_SET(0, &rd); @@ -298,8 +299,15 @@ main(int argc, char *argv[]) } if(FD_ISSET(0, &rd)) { i = n = 0; - while((i = getchar()) != '\n' && n < sizeof(stext) - 1) + for(;;) { + if((i = getchar()) == EOF) { + stext[0] = 0; + goto Mainloop; + } + if(i == '\n' || n >= sizeof(stext) - 1) + break; stext[n++] = i; + } stext[n] = 0; draw_bar(); }