-int
-main(int argc, char *argv[]) {
- int x = 0, y = 0, w = 0;
- unsigned int i;
-
- /* command line args */
- for(i = 1; i < argc; i++)
- if(!strcmp(argv[i], "-i")) {
- fstrncmp = strncasecmp;
- fstrstr = cistrstr;
- }
- else if(!strcmp(argv[i], "-fn")) {
- if(++i < argc) font = argv[i];
- }
- else if(!strcmp(argv[i], "-nb")) {
- if(++i < argc) normbg = argv[i];
- }
- else if(!strcmp(argv[i], "-nf")) {
- if(++i < argc) normfg = argv[i];
- }
- else if(!strcmp(argv[i], "-p")) {
- if(++i < argc) prompt = argv[i];
- }
- else if(!strcmp(argv[i], "-sb")) {
- if(++i < argc) selbg = argv[i];
- }
- else if(!strcmp(argv[i], "-sf")) {
- if(++i < argc) selfg = argv[i];
- }
- else if(!strcmp(argv[i], "-x")) {
- if(++i < argc) x = atoi(argv[i]);
- }
- else if(!strcmp(argv[i], "-y")) {
- if(++i < argc) y = atoi(argv[i]);
- }
- else if(!strcmp(argv[i], "-w")) {
- if(++i < argc) w = atoi(argv[i]);
- }
- else if(!strcmp(argv[i], "-v"))
- eprint("dmenu-"VERSION", © 2006-2008 dmenu engineers, see LICENSE for details\n");
- else
- eprint("usage: dmenu [-i] [-fn <font>] [-nb <color>] [-nf <color>]\n"
- " [-p <prompt>] [-sb <color>] [-sf <color>]\n"
- " [-x <x>] [-y <y>] [-w <w>] [-v]\n");
- setlocale(LC_CTYPE, "");
- dpy = XOpenDisplay(0);
- if(!dpy)
- eprint("dmenu: cannot open display\n");
- screen = DefaultScreen(dpy);
- root = RootWindow(dpy, screen);
-
- if(isatty(STDIN_FILENO)) {
- readstdin();
- running = grabkeyboard();
- }
- else { /* prevent keypress loss */
- running = grabkeyboard();
- readstdin();
- }
-
- setup(x, y, w);
- drawmenu();
- XSync(dpy, False);
- run();
- cleanup();
- XCloseDisplay(dpy);
- return ret;