X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fcompass.c;h=1dc1d3ea7a4ccbda961e9c9abf94dc6ca5f73bb2;hb=78add6e627ee5f10e1fa6f3852602ea5066eee5a;hp=38d890e5120e878848b38ee2eabf1c30b4933543;hpb=aa75c7476aeaa84cf3abc192b376a8b03c325213;p=xscreensaver diff --git a/hacks/compass.c b/hacks/compass.c index 38d890e5..1dc1d3ea 100644 --- a/hacks/compass.c +++ b/hacks/compass.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1999 Jamie Zawinski +/* xscreensaver, Copyright (c) 1999-2018 Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -829,7 +829,15 @@ compass_init (Display *dpy, Window window) XGetWindowAttributes (st->dpy, st->window, &st->xgwa); st->size2 = MIN(st->xgwa.width, st->xgwa.height); - if (st->size2 > 600) st->size2 = 600; + 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); + + { + int max = 600; + if (st->xgwa.width > 2560) max *= 2; /* Retina displays */ + if (st->size2 > max) st->size2 = max; + } st->size = (st->size2 / 2) * 0.8;