terminfo(5) 手册页描述了一组功能wnum
(可定义窗口的最大数量)、cwin
(定义窗口)、wingo
(转到窗口)、wind
(调整当前窗口大小),但 terminfo 主文件中只有一个终端定义使用其中任何一个(tvi9065;它设置 wnum=0)。
是否存在支持这些功能的硬件终端或终端仿真器?
答案1
简而言之:很少有终端提供这些功能。祝你好运找到一个。
长篇:确定终端是否支持窗口功能会产生误导,因为 terminfo 中最常用的功能是在curses 中使用的功能。但这是一个(微弱的)线索。
ncurses 和 AT&T SVr4 终端描述都包含一些。
只需考虑列出的这些功能术语信息(5):
maximum_windows wnum MW maximum number of
definable windows
create_window cwin CW define a window #1
from #2,#3 to #4,#5
goto_window wingo WG go to window #1
set_window wind wi current window is
lines #1-#2 cols
#3-#4
ncurses 仅列出了一些使用wind
(没有使用其他的,因为声明零windows 是多余的):
这些特定条目是不久前添加的(不是最近添加的):
# 10.1.14 (Sat Nov 22 19:59:03 EST 1997)
# * add vt220-js, pilot, rbcomm, datapoint entries from esr's 27-jun-97
# version.
# * add hds200 description (Walter Skorski)
# * add EMX 0.9b descriptions
# * correct rmso/smso capabilities in wy30-mc and wy50-mc (Daniel Weaver)
# * rename xhpterm back to hpterm.
# 1998/9/26
# * format most %'char' sequences to %{number}
# * adapt IBM AIX 3.2.5 terminfo - T.Dickey
# * merge Data General terminfo from Hasufin <[email protected]> - TD
# 2002-05-25
# * add kf13-kf48 strings to cons25w -TD
# * add pcvt25-color entry -TD
# * changed a few /usr/lib/tabset -> /usr/share/tabset.
# * improve some features of scoansi entry based on SCO's version -TD
# * add scoansi-new entry corresponding to OpenServer 5.0.6
还有评论说HDS200这表明这wind
是可能的,但与其他用途相冲突。
AT&T 终端描述也很少使用窗口。 SCO terminfo(1995-1996 年大部分 ncurses 的来源wind
)在描述中被注释掉了概念AVT:
# Info:
# Concept AVT with status line. We get the status line using the
# "Background status line" feature of the terminal. We swipe the
# first line of memory in window 2 for the status line, keeping
# 191 lines of memory and 24 screen lines for regular use.
# The first line is used instead of the last so that this works
# on both 4 and 8 page AVT's. (Note the lm#191 or 192 - this
# assumes an 8 page AVT but lm isn't currently used anywhere.)
#
avt+s|concept avt status line changes,
is3=\E[2w\E[2!w\E[1;1;1;80w\E[H\E[2*w\E[1!w\E2\r\n,
tsl=\E[2;1!w\E[;%p1%dH\E[2K, fsl=\E[1;1!w, eslok, hs,
dsl=\E[0*w, lm#191, smcup=\E[2;25w\E2\r, rmcup=\E[2w\E2\r\n,
.wind=\E[%i%p1%{1}%+%d;%p2%d;%p3%{01}%+%d;%p4%{01}%+%dw
我从 OSF/1 机器上得到的一条评论是这样说的:
# EXECUTION ENVIRONMENT:
#
# This entry does not use any of the fancy windowing stuff of the
# 2626. Indeed, terminfo does not yet handle such stuff. Since
# changing any window clears memory, it is probably not possible to
# use this for screen opt. ed is incredibly slow most of the time.
# It may due to the exact padding.
#
# Since the terminal uses xoff/xon this is intended only for cost
# computation, so that the terminal will prefer el or even dl1 which
# is probably faster! \ED\EJ\EC is also being used -
# apparently ed is only extra slow on the last line of the window.
# The padding probably should be changed.
hp2626|hp2626a|hp2626p|2626|2626a|2626p|2626A|2626P|hp 2626,
但是(参见手动的)经过仔细检查,您可能会注意到这些终端中的每一个都有不同的功能,这些功能wind
并不能完全解决(可能性范围太广,并且提供的终端太少)类似窗户的功能来证明其在屏幕优化中的使用的合理性)。