t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 4970ef938eca10d9af3ef058d15d2ffeb6dfbe18
   DIR parent f85b163899a743d29ebdf1d4969e729b3f2cb79c
   URI Author: arg@10ksloc.org <unknown>
       Date:   Fri, 21 Jul 2006 14:11:38 +0200
       
       simplified main.c, switching back to single urxvt usage
       
       Diffstat:
         M event.c                             |       2 +-
         M main.c                              |      40 ++++++++++---------------------
       
       2 files changed, 14 insertions(+), 28 deletions(-)
       ---
   DIR diff --git a/event.c b/event.c
       t@@ -23,7 +23,7 @@ typedef struct {
        const char *browse[] = { "firefox", NULL };
        const char *gimp[] = { "gimp", NULL };
        const char *term[] = { 
       -        "urxvtc", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white",
       +        "urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white",
                "-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL
        };
        const char *xlock[] = { "xlock", NULL };
   DIR diff --git a/main.c b/main.c
       t@@ -166,22 +166,17 @@ main(int argc, char *argv[])
                int i, n;
                unsigned int mask;
                fd_set rd;
       -        Bool readstdin = True;
       +        Bool readin = True;
                Window w;
                XEvent ev;
                XSetWindowAttributes wa;
        
       -        for(i = 1; (i < argc) && (argv[i][0] == '-'); i++) {
       -                switch (argv[i][1]) {
       -                default:
       -                        eprint("usage: dwm [-v]\n");
       -                        break;
       -                case 'v':
       -                        fputs("dwm-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout);
       -                        exit(EXIT_SUCCESS);
       -                        break;
       -                }
       +        if(argc == 2 && !strncmp("-v", argv[1], 3)) {
       +                fputs("dwm-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout);
       +                exit(EXIT_SUCCESS);
                }
       +        else if(argc != 1)
       +                eprint("usage: dwm [-v]\n");
        
                dpy = XOpenDisplay(0);
                if(!dpy)
       t@@ -256,10 +251,9 @@ main(int argc, char *argv[])
                scan();
        
                /* main event loop, reads status text from stdin as well */
       -Mainloop:
                while(running) {
                        FD_ZERO(&rd);
       -                if(readstdin)
       +                if(readin)
                                FD_SET(STDIN_FILENO, &rd);
                        FD_SET(ConnectionNumber(dpy), &rd);
        
       t@@ -276,20 +270,12 @@ Mainloop:
                                                        (handler[ev.type])(&ev); /* call handler */
                                        }
                                }
       -                        if(readstdin && FD_ISSET(STDIN_FILENO, &rd)) {
       -                                i = n = 0;
       -                                for(;;) {
       -                                        if((i = getchar()) == EOF) {
       -                                                /* broken pipe/end of producer */
       -                                                readstdin = False;
       -                                                strcpy(stext, "broken pipe");
       -                                                goto Mainloop;
       -                                        }
       -                                        if(i == '\n' || n >= sizeof(stext) - 1)
       -                                                break;
       -                                        stext[n++] = i;
       -                                }
       -                                stext[n] = 0;
       +                        if(readin && FD_ISSET(STDIN_FILENO, &rd)) {
       +                                readin = NULL != fgets(stext, sizeof(stext), stdin);
       +                                if(readin)
       +                                        stext[strlen(stext) - 1] = 0;
       +                                else 
       +                                        strcpy(stext, "broken pipe");
                                        drawstatus();
                                }
                        }