On Mon, Oct 17, 2005 at 07:10:05AM +0200, David Christensen wrote: > Thomas Dickey wrote: > > Now go back and use infocmp to compare putty (and of course, you're > > using "putty" for $TERM, right?), against cygwin. The difference > > that usually seems applicable here is the "bw" capability. > > Here is PuTTY on a Debian 3.0 machine:
ok. But only a small part of the terminfo is used in top. Offhand I would have guessed a mismatch between the terminal and the terminfo, but I don't see it. Looking at top.c (part of procps), there is this chunk which deals with the terminfo part: if (!eat_newline_glitch) { // we like the eat_newline_glitch CAPCOPY(Cap_rmam, exit_am_mode); CAPCOPY(Cap_smam, enter_am_mode); if (!*Cap_rmam || !*Cap_smam) { // need both *Cap_rmam = '\0'; *Cap_smam = '\0'; if (auto_right_margin) { avoid_last_column = 1; } } } The long names there are from term.h, and correspond to long terminfo names, which you may find in the terminfo manpage (or using infocmp -L). For reference, these features in the chunk are documented: auto_left_margin bw bw cub1 wraps from column 0 to last column auto_right_margin am am Terminal has automatic margins eat_newline_glitch xenl xn Newline ignored after 80 columns (Concept) enter_am_mode smam SA Turn on automatic margins exit_am_mode rmam RA Turn off automatic margins The variable avoid_last_column is designed to fix the problem that you're reporting. For cygwin, it should set avoid_last_column to 1, since it has am, and none of xenl, rmam, smam. PuTTY has xenl (both the correct "putty" entry, as well as "xterm" which is incorrect), so it won't enter the if-statement. The other relevant part is the computation for Screen_cols, which starts with the value from the terminfo (80) and allows the $COLUMNS environment variable to override it. The avoid_last_column flag is checked after this. It is possible for $COLUMNS to be grossly inaccurate, even if it is set to 81 it would produce the effect you are seeing. http://cygwin.com/ml/cygwin/2005-10/msg00454.html suggested a problem in this area, but I do not see any response to those points. -- Thomas E. Dickey http://invisible-island.net ftp://invisible-island.net
pgp6T43tHQqLJ.pgp
Description: PGP signature