The following module was proposed for inclusion in the Module List:

  modid:       Tern::Size::Heuristic
  DSLIP:       bdpfp
  description: Guesses terminal size in difficult cases
  userid:      YUMPY (Tim Maher)
  chapterid:    5 (Networking_Devices_IPC)
  communities:
    Consultix training classes

  similar:
    Term::Size

  rationale:

    Term::Size works fine on UNIX/Linux systems to determine the
    terminal height and width when one of the standard file descriptors
    is actually connected to a terminal. But there are important cases,
    such as when filtering VI's buffer through a shell command (as in
    :1,$! sort), when those file descriptors are temporarily connected
    to files, causing Term::Size's technique to fail. Another problem is
    the UNIX specifity of the module's approach, which prevents it from
    working on other systems.

    This module applies a number of heuristics in an attempt to guess
    the correct terminal dimensions in those currently unsupported
    cases.

    For example, if no standard I/O channel is connected to a terminal,
    my module scans the process table to see if there's a parent process
    that's an interactive editor (like VI),and if so, it then examines
    the environment for variables (e.g., the POSIX shell's COLUMNS,
    which can track window size changes) that can give a good idea of
    the width.

    This allows commands like the following to properly format text for
    the correct screen width --

    :1,$! fmt_comment

    (That's my own script, based on Text::Autoformat, that reformats
    Perl (or shell or AWK) comments for the appropriate screen width;
    I'll be releasing that along with this module.)

  enteredby:   YUMPY (Tim Maher)
  enteredon:   Sun Dec 22 19:19:27 2002 GMT

The resulting entry would be:

Tern::Size::
::Heuristic       bdpfp Guesses terminal size in difficult cases     YUMPY


Thanks for registering,
The Pause Team

PS: The following links are only valid for module list maintainers:

Registration form with editing capabilities:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=71400000_cc4be784ce7de575&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
  
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=71400000_cc4be784ce7de575&SUBMIT_pause99_add_mod_insertit=1

Reply via email to