- }
- else if(!strcmp(argv[i], "-b"))
- topbar = False;
- else if(!strcmp(argv[i], "-e")) {
- if(++i < argc) parent = atoi(argv[i]);
- }
- else if(!strcmp(argv[i], "-l")) {
- if(++i < argc) lines = atoi(argv[i]);
- if(lines > 0)
- calcoffsets = calcoffsetsv;
- }
- else if(!strcmp(argv[i], "-fn")) {
- if(++i < argc) font = argv[i];
- }
- else if(!strcmp(argv[i], "-nb")) {
- if(++i < argc) normbgcolor = argv[i];
- }
- else if(!strcmp(argv[i], "-nf")) {
- if(++i < argc) normfgcolor = argv[i];
- }
- else if(!strcmp(argv[i], "-p")) {
- if(++i < argc) prompt = argv[i];
- }
- else if(!strcmp(argv[i], "-sb")) {
- if(++i < argc) selbgcolor = argv[i];
- }
- else if(!strcmp(argv[i], "-sf")) {
- if(++i < argc) selfgcolor = argv[i];
- }
- else if(!strcmp(argv[i], "-v")) {
- printf("dmenu-"VERSION", © 2006-2010 dmenu engineers, see LICENSE for details\n");
- exit(EXIT_SUCCESS);
- }
- else {
- fputs("usage: dmenu [-i] [-b] [-e <xid>] [-l <lines>] [-fn <font>] [-nb <color>]\n"
- " [-nf <color>] [-p <prompt>] [-sb <color>] [-sf <color>] [-v]\n", stderr);
- exit(EXIT_FAILURE);
- }
- if(!setlocale(LC_CTYPE, "") || !XSupportsLocale())
- fprintf(stderr, "dmenu: warning: no locale support\n");
- if(!(dpy = XOpenDisplay(NULL)))
- eprint("cannot open display\n");
- screen = DefaultScreen(dpy);
- if(!parent)
- parent = RootWindow(dpy, screen);
- if(!(argp = malloc(sizeof *argp * (argc+2))))
- eprint("cannot malloc %u bytes\n", sizeof *argp * (argc+2));
- memcpy(argp + 2, argv + 1, sizeof *argp * argc);
-
- readstdin();
- running = grabkeyboard();
+ } else if (i + 1 == argc)
+ usage();
+ /* these options take one argument */
+ else if (!strcmp(argv[i], "-l")) /* number of lines in vertical list */
+ lines = atoi(argv[++i]);
+ else if (!strcmp(argv[i], "-m"))
+ mon = atoi(argv[++i]);
+ else if (!strcmp(argv[i], "-p")) /* adds prompt to left of input field */
+ prompt = argv[++i];
+ else if (!strcmp(argv[i], "-fn")) /* font or font set */
+ fonts[0] = argv[++i];
+ else if (!strcmp(argv[i], "-nb")) /* normal background color */
+ normbgcolor = argv[++i];
+ else if (!strcmp(argv[i], "-nf")) /* normal foreground color */
+ normfgcolor = argv[++i];
+ else if (!strcmp(argv[i], "-sb")) /* selected background color */
+ selbgcolor = argv[++i];
+ else if (!strcmp(argv[i], "-sf")) /* selected foreground color */
+ selfgcolor = argv[++i];
+ else
+ usage();