- /* select for events */
- wa.event_mask = SubstructureRedirectMask | SubstructureNotifyMask
- | EnterWindowMask | LeaveWindowMask | StructureNotifyMask;
- wa.cursor = cursor[CurNormal];
- XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa);
- XSelectInput(dpy, root, wa.event_mask);
+ // TODO: bpos per screen?
+ bpos = BARPOS;
+ wa.override_redirect = 1;
+ wa.background_pixmap = ParentRelative;
+ wa.event_mask = ButtonPressMask | ExposureMask;
+
+ /* init bars */
+ m->barwin = XCreateWindow(dpy, m->root, m->sx, m->sy, m->sw, bh, 0,
+ DefaultDepth(dpy, m->screen), CopyFromParent, DefaultVisual(dpy, m->screen),
+ CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
+ XDefineCursor(dpy, m->barwin, cursor[CurNormal]);
+ updatebarpos(m);
+ XMapRaised(dpy, m->barwin);
+ strcpy(stext, "dwm-"VERSION);
+ m->dc.drawable = XCreatePixmap(dpy, m->root, m->sw, bh, DefaultDepth(dpy, m->screen));
+ m->dc.gc = XCreateGC(dpy, m->root, 0, 0);
+ XSetLineAttributes(dpy, m->dc.gc, 1, LineSolid, CapButt, JoinMiter);
+ if(!m->dc.font.set)
+ XSetFont(dpy, m->dc.gc, m->dc.font.xfont->fid);
+
+ /* EWMH support per monitor */
+ XChangeProperty(dpy, m->root, netatom[NetSupported], XA_ATOM, 32,
+ PropModeReplace, (unsigned char *) netatom, NetLast);
+
+ /* select for events */
+ wa.event_mask = SubstructureRedirectMask | SubstructureNotifyMask
+ | EnterWindowMask | LeaveWindowMask | StructureNotifyMask;
+ XChangeWindowAttributes(dpy, m->root, CWEventMask | CWCursor, &wa);
+ XSelectInput(dpy, m->root, wa.event_mask);
+ }
+ if(info)
+ XFree(info);