#include "wm.h"
+/* X structs */
Display *dpy;
Window root;
XRectangle rect;
-int screen, sel_screen;
+Pixmap pmap;
Atom wm_atom[WMLast];
Atom net_atom[NetLast];
Cursor cursor[CurLast];
+
+int screen, sel_screen;
unsigned int kmask, numlock_mask;
-Pixmap pmap;
+
+/* draw structs */
+Brush brush = {0};
enum { WM_PROTOCOL_DELWIN = 1 };
exit(1);
}
-void
-error(char *errstr, ...) {
- va_list ap;
- va_start(ap, errstr);
- vfprintf(stderr, errstr, ap);
- va_end(ap);
- exit(1);
-}
-
static void
scan_wins()
{
XSetErrorHandler(startup_error_handler);
/* this causes an error if some other WM is running */
XSelectInput(dpy, root, SubstructureRedirectMask);
- XSync(dpy, False);
+ XFlush(dpy);
if(other_wm_running)
error("gridwm: another window manager is already running\n");
wa.cursor = cursor[CurNormal];
XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa);
+ /* style */
+ loadcolors(dpy, screen, &brush, BGCOLOR, FGCOLOR, BORDERCOLOR);
+ loadfont(dpy, &brush.font, FONT);
+
scan_wins();
cleanup();