In a recent note, Thomas Dickey said:
> Date: Wed, 14 Feb 2001 18:56:36 -0500
>
> > > what's $TERM set to (or infocmp output)
>
I'm trying a different terminal emulator:
:r ! echo $TERM
xterm-ncsa
(This is deceptive; it's not an X client, but a self-contained
terminal emulator and rlogin client in a Macintosh application.)
This shows no misbehavior of the background color; it's
gray no matter what shell escapes and edits I do. And I'm using
a 14.4 Kbps modem, so I can watch the screen redraws:
lynx-2.8.4dev.18
screen paints blank gray
home page written on gray background
! # (shell escape)
shell output displays on white background
as image of lynx display and gray background scrolls line-by-line
off top of screen
exit # return to lynx
lynx page and gray background painted in single operation
e # edit source of page
vi displays on white background
:q! # return to lynx
screen paints blank gray
home page written on gray background
Q # exit lynx
shell output displays on white background
as image of lynx display and gray background scrolls line-by-line
off top of screen
It's interesting that after a shell escape the background and text are
painted in a single operation; on initial startup of lynx and after
vi escape, the background is painted first, then the tet is drawn.
> > Do you want my config.cache or lynx_cfg.h, possibly off the list?
> no - output from
> infocmp
> and
> appres XTerm
>
attached for xterm-ncsa
And back to the xterm-color: with the slow modem I can observe the repaint
operations in detail.
lynx-2.8.4dev.18
screen paints blank gray from top to bottom
screen turns white instantly (not from top to bottom)
screen paints blank gray from top to bottom
home page written on gray background
! # (shell escape)
shell output displays on white background, including contents of
screen prior to invoking lynx; lynx screen has vanished.
exit # return to lynx
screen paints gray from top to bottom
screen turns white instantly (not from top to bottom)
lynx page printed from top to bottom on white background
! # (shell escape)
shell output displays on white background, including contents of
screen prior to invoking lynx; lynx screen has vanished.
exit # return to lynx
screen turns white instantly (not from top to bottom; didn't
get painted gray this time.)
lynx page printed from top to bottom on white background
e # edit source of page
stale shell output appears briefly on white background
vi displays on white background
:q! # return to lynx
stale shell output appears briefly on white background
home page written on white background
Q # exit lynx
old shell output restored on white background
lynx-2.8.4dev.18
screen paints blank gray from top to bottom
screen turns white instantly (not from top to bottom)
screen paints blank gray from top to bottom
home page written on gray background
e # edit source of page
stale shell output appears briefly on white background
screen paints blank gray from top to bottom
screen turns white instantly (not from top to bottom)
vi displays on white background
:q! # return to lynx
stale shell output appears briefly on white background
lynx page printed from top to bottom on white background
^L # attempt to refresh screen
screen turns white instantly (not from top to bottom)
lynx page printed from top to bottom on white background
/xxx find string xxx
text of link containing xxx turns gray
arrowkeys
links passed over turn gray
^L # attempt to refresh screen
screen turns gray instantly (not from top to bottom)
home page written on gray background
etc. There's a whole lot of unnecessary (but perhaps unavoidable)
refreshing going on. And a whole lot of sometimes annoying memory
of prior states. And I've observed other state transitions too
complicated to describe here.
Thanks,
gil
--
StorageTek
INFORMATION made POWERFUL
# Reconstructed via infocmp from file: /home/pg/lib/terminfo/x/xterm-ncsa
xterm-ncsa|xterm terminal emulator (BetterTelnet),
am, km, mir, xenl, xon,
colors#8, cols#80, it#8, lines#24, lm#0, pairs#64,
vt#3,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
clear=\E[H\E[2J, cnorm=\E[?25h, cr=\r,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
ed=\E[J, el=\E[K, el1=\E[1K, ff=\f, home=\E[H, ht=\t,
hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
if=/usr/lib/tabset/vt100, il=\E[%p1%dL, il1=\E[L,
ind=\ED, kbs=^_, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
kcuu1=\E[A, kdch1=\E[4~, kend=\E[5~, kf1=\E[17~,
kf10=\E[28~, kf11=\E[29~, kf12=\E[31~, kf13=\E[32~,
kf14=\E[33~, kf15=\E[34~, kf2=\E[18~, kf3=\E[19~,
kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~,
kf8=\E[25~, kf9=\E[26~, khome=\E[2~, kich1=\E[1~,
knp=\E[6~, kpp=\E[3~, nel=\EE, op=\E[40;37;m, rc=\E8,
rev=\E[7m, rf=/usr/lib/tabset/vt100, ri=\EM,
rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m,
rmul=\E[24m, rs1=\Ec, sc=\E7, setab=\E[4%p1%dm,
setaf=\E[3%p1%dm,
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;,
sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
smso=\E[7m, smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR,
u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
*VT100*font6: 10x20
*VT100*font2: 5x7
*VT100*font4: 7x13
*VT100.Translations: #override\n\
Alt<Key>4: string(0xa2)\n
*VT100*font5: 9x15
*VT100*font1: nil2
*VT100*font3: 6x10
*mainMenu*continue*Label: Send CONT Signal
*mainMenu*allowsends*Label: Allow SendEvents
*mainMenu*kill*Label: Send KILL Signal
*mainMenu*interrupt*Label: Send INT Signal
*mainMenu*logging*Label: Log to File
*mainMenu*quit*Label: Quit
*mainMenu*hangup*Label: Send HUP Signal
*mainMenu*redraw*Label: Redraw Window
*mainMenu*terminate*Label: Send TERM Signal
*mainMenu*securekbd*Label: Secure Keyboard
*mainMenu*suspend*Label: Send STOP Signal
*mainMenu.Label: Main Options
*SimpleMenu*menuLabel.font: -adobe-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-*
*SimpleMenu*menuLabel.vertSpace: 100
*SimpleMenu*Sme.height: 16
*SimpleMenu*BackingStore: NotUseful
*SimpleMenu*HorizontalMargins: 16
*SimpleMenu*Cursor: left_ptr
*tekMenu*vtmode*Label: Switch to VT Mode
*tekMenu*tektextlarge*Label: Large Characters
*tekMenu*tekpage*Label: PAGE
*tekMenu*tekreset*Label: RESET
*tekMenu*tektext2*Label: #2 Size Characters
*tekMenu*tekhide*Label: Hide Tek Window
*tekMenu*tekcopy*Label: COPY
*tekMenu*tektext3*Label: #3 Size Characters
*tekMenu*vtshow*Label: Show VT Window
*tekMenu*tektextsmall*Label: Small Characters
*tekMenu.Label: Tek Options
*tek4014*font2: 8x13
*tek4014*fontLarge: 9x15
*tek4014.Translations: #override @Num_Lock<Key>KP_0: string(0)\n\
@Num_Lock<Key>KP_1: string(1)\n\
@Num_Lock<Key>KP_2: string(2)\n\
@Num_Lock<Key>KP_3: string(3)\n\
@Num_Lock<Key>KP_4: string(4)\n\
@Num_Lock<Key>KP_5: string(5)\n\
@Num_Lock<Key>KP_6: string(6)\n\
@Num_Lock<Key>KP_7: string(7)\n\
@Num_Lock<Key>KP_8: string(8)\n\
@Num_Lock<Key>KP_9: string(9)\n\
@Num_Lock<Key>KP_Add: string(+)\n\
@Num_Lock<Key>KP_Decimal: string(.)\n\
@Num_Lock<Key>KP_Divide: string(/)\n\
@Num_Lock<Key>KP_Enter: string(\015)\n\
@Num_Lock<Key>KP_Equal: string(=)\n\
@Num_Lock<Key>KP_Multiply: string(*)\n\
@Num_Lock<Key>KP_Subtract: string(-)\n
*tek4014*fontSmall: 6x10
*tek4014*font3: 6x13
*fontMenu*font6*Label: Huge
*fontMenu*font4*Label: Medium
*fontMenu*fontescape*Label: Escape Sequence
*fontMenu*fontsel*Label: Selection
*fontMenu*fontdefault*Label: Default
*fontMenu*font2*Label: Tiny
*fontMenu*font5*Label: Large
*fontMenu*font1*Label: Unreadable
*fontMenu*font3*Label: Small
*fontMenu.Label: VT Fonts
*vtMenu*scrollttyoutput*Label: Scroll to Bottom on Tty Output
*vtMenu*jumpscroll*Label: Enable Jump Scroll
*vtMenu*clearsavedlines*Label: Reset and Clear Saved Lines
*vtMenu*allow132*Label: Allow 80/132 Column Switching
*vtMenu*reversevideo*Label: Enable Reverse Video
*vtMenu*tekshow*Label: Show Tek Window
*vtMenu*cursesemul*Label: Enable Curses Emulation
*vtMenu*autowrap*Label: Enable Auto Wraparound
*vtMenu*tekmode*Label: Switch to Tek Mode
*vtMenu*visualbell*Label: Enable Visual Bell
*vtMenu*reversewrap*Label: Enable Reverse Wraparound
*vtMenu*vthide*Label: Hide VT Window
*vtMenu*marginbell*Label: Enable Margin Bell
*vtMenu*autolinefeed*Label: Enable Auto Linefeed
*vtMenu*altscreen*Label: Show Alternate Screen
*vtMenu*appcursor*Label: Enable Application Cursor Keys
*vtMenu*softreset*Label: Do Soft Reset
*vtMenu*appkeypad*Label: Enable Application Keypad
*vtMenu*hardreset*Label: Do Full Reset
*vtMenu*scrollbar*Label: Enable Scrollbar
*vtMenu*scrollkey*Label: Scroll to Bottom on Key Press
*vtMenu.Label: VT Options
XTerm.JoinSession: False
*timeFormat: C
*inputLang: C
*basicLocale: C
*numeric: C
*displayLang: C