- /* init atoms */
- wm_atom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False);
- wm_atom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
- net_atom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False);
- net_atom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False);
- XChangeProperty(dpy, root, net_atom[NetSupported], XA_ATOM, 32,
- PropModeReplace, (unsigned char *) net_atom, NetLast);
-
- /* init cursors */
- cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr);
- cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
- cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur);
-
- update_keys();
-
- /* style */
- dc.bg = initcolor(BGCOLOR);
- dc.fg = initcolor(FGCOLOR);
- dc.border = initcolor(BORDERCOLOR);
- initfont(FONT);
-
- sx = sy = 0;
- sw = DisplayWidth(dpy, screen);
- sh = DisplayHeight(dpy, screen);
- mw = (sw * MASTERW) / 100;
-
- wa.override_redirect = 1;
- wa.background_pixmap = ParentRelative;
- wa.event_mask = ButtonPressMask | ExposureMask;
-
- bx = by = 0;
- bw = sw;
- dc.h = bh = dc.font.height + 4;
- barwin = XCreateWindow(dpy, root, bx, by, bw, bh, 0, DefaultDepth(dpy, screen),
- CopyFromParent, DefaultVisual(dpy, screen),
- CWOverrideRedirect | CWBackPixmap | CWEventMask, &wa);
- XDefineCursor(dpy, barwin, cursor[CurNormal]);
- XMapRaised(dpy, barwin);
-
- issel = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask);
-
- wa.event_mask = SubstructureRedirectMask | EnterWindowMask \
- | LeaveWindowMask;
- wa.cursor = cursor[CurNormal];
-
- XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa);
-
- dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
- dc.gc = XCreateGC(dpy, root, 0, 0);