/* -*-c-*-
*
- * $Id: pres_curses.c,v 1.3 1999/07/16 12:49:58 mdw Exp $
+ * $Id: pres_curses.c,v 1.6 1999/07/27 14:04:19 mdw Exp $
*
* Curses-based output presentation
*
/*----- Revision history --------------------------------------------------*
*
* $Log: pres_curses.c,v $
+ * Revision 1.6 1999/07/27 14:04:19 mdw
+ * (Bug fix) Include the SIGWINCH handler even if `wresize' isn't known.
+ *
+ * Revision 1.5 1999/07/27 12:49:16 mdw
+ * Slight tidying of resizing terminal handling.
+ *
+ * Revision 1.4 1999/07/16 16:52:28 mdw
+ * `wbkdset' doesn't work so well. Use `wbkgd' instead.
+ *
* Revision 1.3 1999/07/16 12:49:58 mdw
* Improve exit status display. New interface from `doto' project.
*
/* --- @sig_winch@ --- */
-#ifdef HAVE_WRESIZE
+#ifdef SIGWINCH
static void sig_winch(int s)
{
- cwin *c;
int e = errno;
+#ifdef HAVE_WRESIZE
+ cwin *c;
+
endwin();
- refresh();
+ wrefresh(curscr);
sizes();
for (c = cwins; c; c = c->next) {
mvwin(c->w, c->top, 0);
wnoutrefresh(c->s);
}
doupdate();
+#else
+ endwin();
+ wrefresh(curscr);
+#endif
errno = e;
}
scrollok(c->w, TRUE);
leaveok(c->w, TRUE);
leaveok(c->s, TRUE);
- wbkgdset(c->s, A_STANDOUT);
- werase(c->s);
+ wbkgd(c->s, A_STANDOUT);
mvwprintw(c->s, 0, 0, " %s [running]\n", c->e->arch);
wnoutrefresh(c->w);
wnoutrefresh(c->s);
}
doupdate();
-#ifdef HAVE_WRESIZE
+#ifdef SIGWINCH
signal(SIGWINCH, sig_winch);
#endif
#ifdef SIGTSTP