Index: src/actions.c =================================================================== RCS file: /cvsroot/ratpoison/ratpoison/src/actions.c,v retrieving revision 1.277 diff -u -r1.277 actions.c --- src/actions.c 24 May 2006 02:53:24 -0000 1.277 +++ src/actions.c 14 Jul 2006 19:35:40 -0000 @@ -4618,7 +4618,7 @@ /* Display it or return it. */ if (interactive) { - marked_message (sbuf_get (buffer), mark_start, mark_end); + marked_message (sbuf_get (buffer), mark_start, mark_end, 1); sbuf_free (buffer); return cmdret_new (RET_SUCCESS, NULL); } Index: src/bar.c =================================================================== RCS file: /cvsroot/ratpoison/ratpoison/src/bar.c,v retrieving revision 1.57 diff -u -r1.57 bar.c --- src/bar.c 24 May 2006 02:25:22 -0000 1.57 +++ src/bar.c 14 Jul 2006 19:35:40 -0000 @@ -165,12 +165,12 @@ if(defaults.window_list_style == STYLE_ROW) { get_window_list (fmt, NULL, bar_buffer, &mark_start, &mark_end); - marked_message (sbuf_get (bar_buffer), mark_start, mark_end); + marked_message (sbuf_get (bar_buffer), mark_start, mark_end, 0); } else { get_window_list (fmt, "\n", bar_buffer, &mark_start, &mark_end); - marked_message (sbuf_get (bar_buffer), mark_start, mark_end); + marked_message (sbuf_get (bar_buffer), mark_start, mark_end, 0); } @@ -181,7 +181,7 @@ void message (char *s) { - marked_message (s, 0, 0); + marked_message (s, 0, 0, 1); } void @@ -194,7 +194,7 @@ buffer = xvsprintf (fmt, ap); va_end (ap); - marked_message (buffer, mark_start, mark_end); + marked_message (buffer, mark_start, mark_end, 1); free (buffer); } @@ -488,7 +488,7 @@ } void -marked_message (char *msg, int mark_start, int mark_end) +marked_message (char *msg, int mark_start, int mark_end, int resetalarm) { rp_screen *s = current_screen (); int num_lines; @@ -499,7 +499,8 @@ PRINT_DEBUG (("mark_start = %d, mark_end = %d\n", mark_start, mark_end)); /* Schedule the bar to be hidden after some amount of time. */ - reset_alarm (); + if( resetalarm ) + reset_alarm (); /* Calculate the width and height of the window. */ num_lines = count_lines (msg, strlen(msg)); @@ -530,7 +531,7 @@ marked_message's msg arg would have been the same as last_msg. */ msg = xstrdup (last_msg); - marked_message (msg, last_mark_start, last_mark_end); + marked_message (msg, last_mark_start, last_mark_end, 1); free (msg); } Index: src/bar.h =================================================================== RCS file: /cvsroot/ratpoison/ratpoison/src/bar.h,v retrieving revision 1.20 diff -u -r1.20 bar.h --- src/bar.h 24 May 2006 02:25:22 -0000 1.20 +++ src/bar.h 14 Jul 2006 19:35:40 -0000 @@ -30,7 +30,7 @@ int bar_x (rp_screen *s, int width); void message (char *s); -void marked_message (char *s, int mark_start, int mark_end); +void marked_message (char *s, int mark_start, int mark_end, int resetalarm); void marked_message_printf (int mark_start, int mark_end, char *fmt, ...); void show_last_message (void); void free_bar (void);