/* Munching Squares and Mismunch
*
- * Portions copyright 1992-2008 Jamie Zawinski <jwz@jwz.org>
+ * Portions copyright 1992-2014 Jamie Zawinski <jwz@jwz.org>
*
* Permission to use, copy, modify, distribute, and sell this
* software and its documentation for any purpose is hereby
window, it's too big. Mismunched squares that big make things
look too noisy. */
- if (st->window_height < st->window_width) {
+ if (st->window_height < st->window_width &&
+ st->window_width < st->window_height * 5) {
st->logmaxwidth = (int)dumb_log_2(st->window_height * 0.8);
} else {
st->logmaxwidth = (int)dumb_log_2(st->window_width * 0.8);
m->atX = (random() % (xgwa.width <= m->width ? 1
: xgwa.width - m->width));
m->atY = (random() % (xgwa.height <= m->width ? 1
- : xgwa.width - m->width));
+ : xgwa.height - m->width));
/* wrap-around by these values; no need to % as we end up doing that
later anyway */
static Bool
munch_event (Display *dpy, Window window, void *closure, XEvent *event)
{
+ struct state *st = (struct state *) closure;
+ if (screenhack_event_helper (dpy, window, event))
+ {
+ int i;
+ st->window_height--;
+ munch_reshape(dpy, window, closure, st->window_width, st->window_height);
+ st->mismunch = random() & 1;
+ for (i = 0; i < st->simul; i++) {
+ free (st->munchers[i]);
+ st->munchers[i] = make_muncher(st);
+ }
+ XClearWindow(dpy, window);
+ return True;
+ }
return False;
}
static const char *munch_defaults [] = {
+ ".lowrez: true",
".background: black",
".foreground: white",
"*fpsSolid: true",
"*simul: 5",
"*clear: 65",
"*xor: True",
+#ifdef HAVE_MOBILE
+ "*ignoreRotation: True",
+#endif
+
0
};