X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fphosphor.c;h=8ba63dd28390b4f467474981837dcf5d06c8f5f7;hb=96a411663168b0ba5432b407a83be55f3df0c802;hp=22e9495e3fd832c0608de34e17dc9e9e8850dd3a;hpb=06e9a7886a77cad92f9ddbc169d6d199a4d8b76d;p=xscreensaver diff --git a/hacks/phosphor.c b/hacks/phosphor.c index 22e9495e..8ba63dd2 100644 --- a/hacks/phosphor.c +++ b/hacks/phosphor.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1999 Jamie Zawinski +/* xscreensaver, Copyright (c) 1999, 2000 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 @@ -450,7 +450,6 @@ static void set_cursor (p_state *state, Bool on) { if (set_cursor_1 (state, on)) -; { if (state->cursor_timer) XtRemoveTimeOut (state->cursor_timer); @@ -529,6 +528,7 @@ static void scroll (p_state *state) { int x, y; + for (x = 0; x < state->grid_width; x++) { p_cell *from = 0, *to = 0; @@ -553,7 +553,7 @@ scroll (p_state *state) } to = from; - if (to->state == FLARE || to->state == NORMAL) + if (to && (to->state == FLARE || to->state == NORMAL)) { to->state = FADE; to->changed = True; @@ -566,6 +566,8 @@ scroll (p_state *state) static void print_char (p_state *state, int c) { + static char last_c = 0; + p_cell *cell = &state->cells[state->grid_width * state->cursor_y + state->cursor_x]; @@ -580,11 +582,16 @@ print_char (p_state *state, int c) if (c == '\r' || c == '\n') { - state->cursor_x = 0; - if (state->cursor_y == state->grid_height - 1) - scroll (state); + if (c == '\n' && last_c == '\r') + ; /* CRLF -- do nothing */ else - state->cursor_y++; + { + state->cursor_x = 0; + if (state->cursor_y == state->grid_height - 1) + scroll (state); + else + state->cursor_y++; + } } else if (c == '\014') { @@ -610,6 +617,8 @@ print_char (p_state *state, int c) } } set_cursor (state, True); + + last_c = c; } @@ -769,7 +778,7 @@ char *defaults [] = { "*ticks: 20", "*delay: 50000", "*cursor: 333", - "*program: " ZIPPY_PROGRAM, + "*program: " FORTUNE_PROGRAM, "*relaunch: 5", 0 };