home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / mod.std.unix.v7 / text0049.txt < prev    next >
Encoding:
Internet Message Format  |  1987-06-30  |  2.0 KB

  1. From: guy@sun.com (Guy Harris)
  2. Date: Sat, 11 Oct 86 02:49:48 PDT
  3.  
  4. > "It" is the "virtual console" feature found in most PC-based UNIX
  5. > implementations.  This does rely on memory-mapped video, but character-
  6. > mapped terminals work as well as bit-mapped ones.
  7.  
  8. No, you don't need a bit-mapped display to do windowing, but I presume most
  9. people already knew that.  Convergent Technologies, for instance, has a
  10. windowing scheme on their PT terminals.  It's not even a "virtual console"
  11. scheme; you can see parts of several windows, if you want.
  12.  
  13. This sort of windowing mechanism doesn't even necessarily require a
  14. memory-mapped screen; it merely needs a way to redraw a window when it moves
  15. to the front.  Mark Horton's earlier message describes a window manager for
  16. dumb terminals; it even permits more than one window on the screen.
  17.  
  18. > A process trying to write to a non-current virtual console will (fill
  19. > up some clists and then) block.  A process trying to read the keyboard
  20. > will block until the user switches to its console and types something.
  21.  
  22. > This is all completely invisible to user programs;  they think they're
  23. > dealing with a perfectly ordinary 24x80 terminal.  No SIGTSTP, no window
  24. > size ioctls, etc.
  25.  
  26. There's nothing particularly special about all this; other window systems do
  27. the same thing.  Virtual consoles are just a special case of a window system
  28. where all windows cover the full screen.
  29.  
  30. As for the window size "ioctl", consider this: any program that thinks it's
  31. always dealing with a "perfectly ordinary 24x80 terminal" is going to be
  32. quite surprised when run on an Ann Arbor Ambassador with 60 lines.  Programs
  33. should not make assumptions like that.
  34.  
  35. Given that the program will then have to query "termcap" or "terminfo" to
  36. find the size of the screen, it's not much trouble to have the routine that
  37. reads in the "termcap" or "terminfo" entry check what the window size
  38. "ioctl" says and only use the value in the entry if the window size is 0x0
  39. (i.e., not specified).  That's what Sun's "termcap" code does.
  40.  
  41. Volume-Number: Volume 7, Number 50
  42.  
  43.