-int
-main(int argc, char *argv[]) {
- unsigned int i;
- Bool topbar = True;
-
- /* command line args */
- for(i = 1; i < argc; i++)
- if(!strcmp(argv[i], "-i")) {
- fstrncmp = strncasecmp;
- fstrstr = cistrstr;
- }
- else if(!strcmp(argv[i], "-b"))
- topbar = False;
- 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"))
- eprint("dmenu-"VERSION", © 2006-2008 dmenu engineers, see LICENSE for details\n");
- else
- eprint("usage: dmenu [-i] [-b] [-fn <font>] [-nb <color>] [-nf <color>]\n"
- " [-p <prompt>] [-sb <color>] [-sf <color>] [-v]\n");
- if(!XSupportsLocale())
- fprintf(stderr, "warning: no locale support\n");
- if(!(dpy = XOpenDisplay(0)))
- 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(topbar);
+ /* menu window */
+ wa.override_redirect = True;
+ wa.background_pixmap = ParentRelative;
+ wa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask;
+ win = XCreateWindow(dc->dpy, root, x, y, mw, mh, 0,
+ DefaultDepth(dc->dpy, screen), CopyFromParent,
+ DefaultVisual(dc->dpy, screen),
+ CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
+
+ XMapRaised(dc->dpy, win);
+ resizedc(dc, mw, mh);