X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fcompass.c;h=9d62870f6d163be6a6107a588f43930ee97019b8;hb=39809ded547bdbb08207d3e514950425215b4410;hp=5b9ba4990ec51febf325ae04183ec366d5bc14cf;hpb=49f5b54f312fe4ac2e9bc47581a72451bd0e8439;p=xscreensaver diff --git a/hacks/compass.c b/hacks/compass.c index 5b9ba499..9d62870f 100644 --- a/hacks/compass.c +++ b/hacks/compass.c @@ -822,13 +822,17 @@ compass_init (Display *dpy, Window window) st->delay = get_integer_resource (st->dpy, "delay", "Integer"); st->dbuf = get_boolean_resource (st->dpy, "doubleBuffer", "Boolean"); -# ifdef HAVE_COCOA /* Don't second-guess Quartz's double-buffering */ +# ifdef HAVE_JWXYZ /* Don't second-guess Quartz's double-buffering */ st->dbuf = False; # endif XGetWindowAttributes (st->dpy, st->window, &st->xgwa); st->size2 = MIN(st->xgwa.width, st->xgwa.height); + if (st->xgwa.width > st->xgwa.height * 5 || /* goofy aspect ratio */ + st->xgwa.height > st->xgwa.width * 5) + st->size2 = MAX(st->xgwa.width, st->xgwa.height); + if (st->size2 > 600) st->size2 = 600; st->size = (st->size2 / 2) * 0.8; @@ -933,6 +937,11 @@ static void compass_reshape (Display *dpy, Window window, void *closure, unsigned int w, unsigned int h) { + struct state *st = (struct state *) closure; + XGetWindowAttributes (st->dpy, st->window, &st->xgwa); + st->size2 = MIN(st->xgwa.width, st->xgwa.height); + st->x = st->xgwa.width/2; + st->y = st->xgwa.height/2; } static Bool