3

terminfo(5) manual page describes a set of capabilities wnum (maximum number of definable windows), cwin (define a window), wingo (go to window), wind (resize current window), but only one terminal definition in terminfo master file uses any of them (tvi9065; it sets wnum=0).

Do any hardware terminals, or terminal emulators, exist that support these capabilities?

sendmoreinfo
  • 2,533
  • 21
  • 36
  • 1
    Probably not. Bear in mind that some of those features were likely added in SVr4 to support AT&T 3B2's, etc. – Thomas Dickey Sep 12 '17 at 23:01
  • @Thomas, nit-picking here, but didn’t 3B2s use r2 (at least initially)? Just out of curiosity, where was the window support? In the 5620? – Stephen Kitt Sep 13 '17 at 21:14
  • I'm not sure (I've read about them, can make inferences, but during the 1980s used workstations by *other* manufacturers). – Thomas Dickey Sep 13 '17 at 21:54
  • I've looked at terminfo master again, and in fact, a few terminals do define `wind` (but not any of others). Oops :-) These are `scoansi-new`, `d412-unix-*`, and `dp8242`. – sendmoreinfo Sep 14 '17 at 18:57

1 Answers1

2

Short: few terminals have provided these features. Good luck on finding one.

Long: determining if a terminal supports the windowing features is misleading, because the features which are most-used from terminfo are those used in curses. But it's a (weak) clue.

Both ncurses and the AT&T SVr4 terminal descriptions include a few.

Just considering these capabilities listed in terminfo(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 lists only a few using wind (none using the others, since stating zero windows is redundant):

Those particular entries were added a while back (nothing recent):

# 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

There also is a comment on hds200 which indicates that wind was possible, but conflicted with another use.

The AT&T terminal descriptions likewise had few that used windowing. The SCO terminfo which was the source for much of ncurses in 1995-1996 had a commented-out wind in the description of the Concept 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

A comment on one which I had from an OSF/1 machine says this:

# 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,

but (see manual) on closer inspection you probably would notice that each of these terminals has a different feature which wind does not entirely address (it's too broad a range of possibilities, and too few terminals that provided window-like features to justify their use in screen-optimization).

Thomas Dickey
  • 75,040
  • 9
  • 171
  • 268