diff -r b491483be453 dmenu.1 --- a/dmenu.1 Mon Jul 30 17:02:12 2012 +0200 +++ b/dmenu.1 Fri Nov 09 00:50:54 2012 +0100 @@ -10,6 +10,8 @@ .IR lines ] .RB [ \-p .IR prompt ] +.RB [ \-d +.IR default ] .RB [ \-fn .IR font ] .RB [ \-nb @@ -52,6 +54,9 @@ .BI \-p " prompt" defines the prompt to be displayed to the left of the input field. .TP +.BI \-d " default" +set a default input text. +.TP .BI \-fn " font" defines the font or font set used. .TP diff -r b491483be453 dmenu.c --- a/dmenu.c Mon Jul 30 17:02:12 2012 +0200 +++ b/dmenu.c Fri Nov 09 00:50:54 2012 +0100 @@ -45,6 +45,7 @@ static size_t cursor = 0; static const char *font = NULL; static const char *prompt = NULL; +static const char *default_text = NULL; static const char *normbgcolor = "#222222"; static const char *normfgcolor = "#bbbbbb"; static const char *selbgcolor = "#005577"; @@ -90,6 +91,8 @@ lines = atoi(argv[++i]); else if(!strcmp(argv[i], "-p")) /* adds prompt to left of input field */ prompt = argv[++i]; + else if(!strcmp(argv[i], "-d")) /* sets default input text */ + default_text = argv[++i]; else if(!strcmp(argv[i], "-fn")) /* font or font set */ font = argv[++i]; else if(!strcmp(argv[i], "-nb")) /* normal background color */ @@ -581,7 +584,10 @@ } promptw = (prompt && *prompt) ? textw(dc, prompt) : 0; inputw = MIN(inputw, mw/3); - match(); + if(default_text != NULL) + insert(default_text, strlen(default_text)); + else + match(); /* create menu window */ swa.override_redirect = True; @@ -604,7 +610,7 @@ void usage(void) { - fputs("usage: dmenu [-b] [-f] [-i] [-l lines] [-p prompt] [-fn font]\n" + fputs("usage: dmenu [-b] [-f] [-i] [-l lines] [-p prompt] [-d default] [-fn font]\n" " [-nb color] [-nf color] [-sb color] [-sf color] [-v]\n", stderr); exit(EXIT_FAILURE); }