tremoved config.h stuff, made dwm configurable due to command line options - dmenu - Dmenu fork with xft fonts.
 (HTM) git clone git://r-36.net/dmenu
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 5c0d28e4ff9909059ac1247aa71f9b1e906fea3a
 (DIR) parent e0fe9f2fcac32f04f7fda5236f48d1a705cbdcce
 (HTM) Author: arg@mmvi <unknown>
       Date:   Tue, 26 Sep 2006 13:20:47 +0200
       
       removed config.h stuff, made dwm configurable due to command line options
       Diffstat:
         Makefile                            |       6 +-----
         config.arg.h                        |      11 -----------
         config.default.h                    |      11 -----------
         config.mk                           |       2 +-
         dmenu.1                             |      27 ++++++++++++++++++++++++---
         dmenu.h                             |       6 +++++-
         main.c                              |      52 +++++++++++++++++++++----------
       
       7 files changed, 67 insertions(+), 48 deletions(-)
       ---
 (DIR) diff --git a/Makefile b/Makefile
       t@@ -19,11 +19,7 @@ options:
                @echo CC $<
                @${CC} -c ${CFLAGS} $<
        
       -${OBJ}: dmenu.h config.h config.mk
       -
       -config.h:
       -        @echo creating $@ from config.default.h
       -        @cp config.default.h $@
       +${OBJ}: dmenu.h config.mk
        
        dmenu: ${OBJ}
                @echo LD $@
 (DIR) diff --git a/config.arg.h b/config.arg.h
       t@@ -1,11 +0,0 @@
       -/*
       - * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
       - * See LICENSE file for license details.
       - */
       -
       -#define FONT                        "-*-terminus-medium-*-*-*-12-*-*-*-*-*-iso10646-*"
       -#define SELBGCOLOR                "#333366"
       -#define SELFGCOLOR                "#eeeeee"
       -#define NORMBGCOLOR                "#333333"
       -#define NORMFGCOLOR                "#dddddd"
       -#define STDIN_TIMEOUT                3 /* seconds */
 (DIR) diff --git a/config.default.h b/config.default.h
       t@@ -1,11 +0,0 @@
       -/*
       - * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
       - * See LICENSE file for license details.
       - */
       -
       -#define FONT                        "fixed"
       -#define SELBGCOLOR                "#666699"
       -#define SELFGCOLOR                "#eeeeee"
       -#define NORMBGCOLOR                "#333366"
       -#define NORMFGCOLOR                "#cccccc"
       -#define STDIN_TIMEOUT                3 /* seconds */
 (DIR) diff --git a/config.mk b/config.mk
       t@@ -1,5 +1,5 @@
        # dmenu version
       -VERSION = 1.0
       +VERSION = 1.1
        
        # Customize below to fit your system
        
 (DIR) diff --git a/dmenu.1 b/dmenu.1
       t@@ -3,6 +3,12 @@
        dmenu \- dynamic menu
        .SH SYNOPSIS
        .B dmenu
       +.RB [ \-font <name> ]
       +.RB [ \-normbg <color> ]
       +.RB [ \-normfg <color> ]
       +.RB [ \-selbg <color> ]
       +.RB [ \-selfg <color> ]
       +.RB [ \-t <seconds> ]
        .RB [ \-v ]
        .SH DESCRIPTION
        .SS Overview
       t@@ -12,6 +18,24 @@ It manages huge amounts (up to 10.000 and more) of user defined menu items
        efficiently.
        .SS Options
        .TP
       +.B \-font <name>
       +defines the font.
       +.TP
       +.B \-normbg <color>
       +defines the normal background color (#RGB, #RRGGBB, and color names are supported).
       +.TP
       +.B \-normfg <color>
       +defines the normal foreground color (#RGB, #RRGGBB, and color names are supported).
       +.TP
       +.B \-selbg <color>
       +defines the selected background color (#RGB, #RRGGBB, and color names are supported).
       +.TP
       +.B \-selfg <color>
       +defines the selected foreground color (#RGB, #RRGGBB, and color names are supported).
       +.TP
       +.B \-t <seconds>
       +defines the seconds to wait for standard input, before exiting (default is 3).
       +.TP
        .B \-v
        prints version information to standard output, then exits.
        .SH USAGE
       t@@ -52,8 +76,5 @@ Remove enough characters from the input field to change its filtering effect.
        .TP
        .B Control-u
        Remove all characters from the input field.
       -.SH CUSTOMIZATION
       -dmenu is customized by creating a custom config.h and (re)compiling the source
       -code. This keeps it fast, secure and simple.
        .SH SEE ALSO
        .BR dwm (1)
 (DIR) diff --git a/dmenu.h b/dmenu.h
       t@@ -3,10 +3,14 @@
         * See LICENSE file for license details.
         */
        
       -#include "config.h"
        #include <X11/Xlib.h>
        #include <X11/Xlocale.h>
        
       +#define FONT                        "fixed"
       +#define NORMBGCOLOR                "#333366"
       +#define NORMFGCOLOR                "#cccccc"
       +#define SELBGCOLOR                "#666699"
       +#define SELFGCOLOR                "#eeeeee"
        #define SPACE                30 /* px */
        
        /* color */
 (DIR) diff --git a/main.c b/main.c
       t@@ -283,19 +283,41 @@ DC dc = {0};
        
        int
        main(int argc, char *argv[]) {
       +        char *font = FONT;
                char *maxname;
       +        char *normbg = NORMBGCOLOR;
       +        char *normfg = NORMFGCOLOR;
       +        char *selbg = SELBGCOLOR;
       +        char *selfg = SELFGCOLOR;
                fd_set rd;
       +        int i;
                struct timeval timeout;
       -        Item *i;
       +        Item *itm;
                XEvent ev;
                XSetWindowAttributes wa;
        
       -        if(argc == 2 && !strncmp("-v", argv[1], 3)) {
       -                fputs("dmenu-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout);
       -                exit(EXIT_SUCCESS);
       -        }
       -        else if(argc != 1)
       -                eprint("usage: dmenu [-v]\n");
       +        timeout.tv_usec = 0;
       +        timeout.tv_sec = 3;
       +        /* command line args */
       +        for(i = 1; i < argc; i++)
       +                if(!strncmp(argv[i], "-font", 6))
       +                        font = argv[++i];
       +                else if(!strncmp(argv[i], "-normbg", 8))
       +                        normbg = argv[++i];
       +                else if(!strncmp(argv[i], "-normfg", 8))
       +                        normfg = argv[++i];
       +                else if(!strncmp(argv[i], "-selbg", 7))
       +                        selbg = argv[++i];
       +                else if(!strncmp(argv[i], "-selfg", 7))
       +                        selfg = argv[++i];
       +                else if(!strncmp(argv[i], "-t", 3))
       +                        timeout.tv_sec = atoi(argv[++i]);
       +                else if(!strncmp(argv[i], "-v", 3)) {
       +                        fputs("dmenu-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout);
       +                        exit(EXIT_SUCCESS);
       +                }
       +                else
       +                        eprint("usage: dmenu [-font <name>] [-{norm,sel}{bg,fg} <color>] [-t <seconds>] [-v]\n", stdout);
        
                dpy = XOpenDisplay(0);
                if(!dpy)
       t@@ -312,8 +334,6 @@ main(int argc, char *argv[]) {
                                 GrabModeAsync, CurrentTime) != GrabSuccess)
                        usleep(1000);
        
       -        timeout.tv_usec = 0;
       -        timeout.tv_sec = STDIN_TIMEOUT;
                FD_ZERO(&rd);
                FD_SET(STDIN_FILENO, &rd);
                if(select(ConnectionNumber(dpy) + 1, &rd, NULL, NULL, &timeout) < 1)
       t@@ -321,11 +341,11 @@ main(int argc, char *argv[]) {
                maxname = readstdin();
        
                /* style */
       -        dc.sel[ColBG] = getcolor(SELBGCOLOR);
       -        dc.sel[ColFG] = getcolor(SELFGCOLOR);
       -        dc.norm[ColBG] = getcolor(NORMBGCOLOR);
       -        dc.norm[ColFG] = getcolor(NORMFGCOLOR);
       -        setfont(FONT);
       +        dc.sel[ColBG] = getcolor(selbg);
       +        dc.sel[ColFG] = getcolor(selfg);
       +        dc.norm[ColBG] = getcolor(normbg);
       +        dc.norm[ColFG] = getcolor(normfg);
       +        setfont(font);
        
                wa.override_redirect = 1;
                wa.background_pixmap = ParentRelative;
       t@@ -373,10 +393,10 @@ main(int argc, char *argv[]) {
                }
        
                while(allitems) {
       -                i = allitems->next;
       +                itm = allitems->next;
                        free(allitems->text);
                        free(allitems);
       -                allitems = i;
       +                allitems = itm;
                }
                if(dc.font.set)
                        XFreeFontSet(dpy, dc.font.set);