- if (! root)
- XSelectInput (dpy, win, ExposureMask|ButtonPressMask|StructureNotifyMask);
-
- gc = XCreateGC(dpy, win, 0, 0);
- cgc = XCreateGC(dpy, win, 0, 0);
- tgc = XCreateGC(dpy,win,0,0);
- logo_gc = XCreateGC(dpy, win, 0, 0);
- erase_gc = XCreateGC(dpy, win, 0, 0);
-
- gray = XCreateBitmapFromData (dpy,win,gray1_bits,gray1_width,gray1_height);
-
- bg = get_pixel_resource ("background","Background", dpy, xgwa.colormap);
- fg = get_pixel_resource ("foreground","Foreground", dpy, xgwa.colormap);
- lfg = get_pixel_resource ("logoColor", "Foreground", dpy, xgwa.colormap);
- pfg = get_pixel_resource ("liveColor", "Foreground", dpy, xgwa.colormap);
- pbg = get_pixel_resource ("deadColor", "Foreground", dpy, xgwa.colormap);
- if (mono_p) lfg = pfg = fg;
-
- if (lfg == bg)
- lfg = ((bg == WhitePixel (dpy, DefaultScreen (dpy)))
- ? BlackPixel (dpy, DefaultScreen (dpy))
- : WhitePixel (dpy, DefaultScreen (dpy)));
-
- XSetForeground (dpy, gc, fg);
- XSetBackground (dpy, gc, bg);
- XSetForeground (dpy, cgc, pbg);
- XSetBackground (dpy, cgc, bg);
- XSetForeground (dpy, tgc, pfg);
- XSetBackground (dpy, tgc, bg);
- XSetForeground (dpy, logo_gc, lfg);
- XSetBackground (dpy, logo_gc, bg);
- XSetForeground (dpy, erase_gc, bg);
- XSetBackground (dpy, erase_gc, bg);
-
- XSetStipple (dpy, cgc, gray);
- XSetFillStyle (dpy, cgc, FillOpaqueStippled);
+ if (size < 2) size = 7 + (random () % 30);
+ st->grid_width = st->grid_height = size;
+ st->bw = (size > 6 ? 3 : (size-1)/2);
+
+ XGetWindowAttributes (st->dpy, st->window, &xgwa);
+
+ st->x = 0;
+ st->y = 0;
+
+ set_maze_sizes (st, xgwa.width, xgwa.height);
+
+ st->gc = XCreateGC(st->dpy, st->window, 0, 0);
+ st->cgc = XCreateGC(st->dpy, st->window, 0, 0);
+ st->tgc = XCreateGC(st->dpy, st->window, 0, 0);
+ st->sgc = XCreateGC(st->dpy, st->window, 0, 0);
+ st->ugc = XCreateGC(st->dpy, st->window, 0, 0);
+ st->logo_gc = XCreateGC(st->dpy, st->window, 0, 0);
+ st->erase_gc = XCreateGC(st->dpy, st->window, 0, 0);