On Sun, Jun 01, 2014 at 01:12:44PM -0400, Thomas Dickey wrote: > Most of the file, however, consists of repainting the menu. By the way, since the menu covers only half the screen, there aren't any general-purpose scrolling optimizations that would help. (xterm does support left/right margins, which would be interesting to explore in this area). What ncurses does when it's getting behind is to drop updates - the typeahead feature: The curses library does ``line-breakout optimization'' by looking for typeahead periodically while updating the screen. If input is found, and it is coming from a tty, the current update is postponed until re- fresh or doupdate is called again. This allows faster response to com- mands typed in advance. Normally, the input FILE pointer passed to newterm, or stdin in the case that initscr was used, will be used to do this typeahead checking. The typeahead routine specifies that the file descriptor fd is to be used to check for typeahead instead. If fd is -1, then no typeahead checking is done. -- Thomas E. Dickey http://invisible-island.net ftp://invisible-island.net