X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fimsmap.c;h=cb88c10a6cc6ea8bc0420b1418c81dd4d742f885;hb=585e1a6717d1dd9b90fbb53acaaae82106354d33;hp=a6b53cd6912bdfdb779fa3e028e5934a79281b49;hpb=c6b273ef7292ba10943694df1656b05203d7b62f;p=xscreensaver diff --git a/hacks/imsmap.c b/hacks/imsmap.c index a6b53cd6..cb88c10a 100644 --- a/hacks/imsmap.c +++ b/hacks/imsmap.c @@ -27,7 +27,7 @@ #define COUNT (1 << NSTEPS) #define CELL(c, r) cell[((unsigned int)(c)) + ((unsigned int) (r)) * xmax] -static enum mode_t { MODE_H, MODE_S, MODE_V, MODE_RANDOM } mode; +static enum imsmap_mode { MODE_H, MODE_S, MODE_V, MODE_RANDOM } mode; static GC gc, gc2; static XWindowAttributes xgwa; @@ -55,7 +55,7 @@ init_map (Display *dpy, Window window) int fg_h, bg_h; double fg_s, fg_v, bg_s, bg_v; - enum mode_t this_mode; + enum imsmap_mode this_mode; static Bool rv_p; XGCValues gcv; @@ -77,6 +77,7 @@ init_map (Display *dpy, Window window) if (ncolors <= 2) ncolors = 0; if (ncolors == 0) mono_p = True; + if (ncolors > 255) ncolors = 255; /* too many look bad */ fg_pixel = get_pixel_resource ("background", "Background", dpy, cmap); bg_pixel = get_pixel_resource ("foreground", "Foreground", dpy, cmap); @@ -439,22 +440,23 @@ draw_map (Display *dpy, Window window) xstep = xnextStep; ystep = ynextStep; if (!mono_p) - XSync (dpy, True); + XSync (dpy, False); + screenhack_handle_events (dpy); } if (mono_p) /* in mono-mode, we do all the drawing at the end */ floyd_steinberg (dpy, window); free (cell); - XSync (dpy, True); + XSync (dpy, False); } char *progclass = "Imsmap"; char *defaults [] = { - "*background: black", - "*foreground: black", + ".background: black", + ".foreground: black", "*mode: random", "*ncolors: 50", "*iterations: 7", @@ -493,10 +495,14 @@ screenhack (Display *dpy, Window window) rotate_colors (dpy, cmap, colors, ncolors, cycle_direction); if (cycle_delay) usleep(cycle_delay); + screenhack_handle_events (dpy); } } else - sleep (delay); + { + screenhack_handle_events (dpy); + sleep (delay); + } } } }