Re: Alpine paragraph justification failing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



| From: Beartooth <Beartooth@xxxxxxxxxxx>

| On Tue, 17 Nov 2009 02:13:57 -0500, D. Hugh Redelmeier wrote:
| 	[....]
| > If not, you might have a curses problem (curses is the library that
| > handles "full screen" manipulations of text-based terminals).
| 
| 	Hmmm .... Dunno if it's relevant, but I absolutely never, ever, 
| maximize a window, let alone use a full screen command. That frame of 
| desktop background is what keeps me aware of which machine I'm on, 
| without having to waste conscious attention on it.

Sorry, I used ancient terminology rather than explaining clearly what
I meant.

alpine does "full screen" manipulations of a text-based terminal and
it uses curses to assist it.


Short explanation:

"full screen" applications run on an xterm or similar character-based
terminal and exploit the cursor addressing features to update the
screen in a non-linear way.  alpine is a "full screen" application.

curses is a library to assist programs in managing such a screen.  It
evolved out of code in vi.  The manpage curses(3) does not exist in Fedora
11, even though it is referenced by other manpages.  Look at
ncurses(3) instead.  See also termcap(5) but don't expect to
understand it easily.


Long explanation:

Old school applications were written for teletypes.  All programs
could do was type characters to the right of what had already been
typed, or start a new line bellow the last line.  (With backspaces,
overtyping was possible, but had limits on usefulness because ink
could not be erased.)

Then "glass teletypes" became common.  Many early ones had the same
limitations as teletypes, but soon models were introduced that allowed
programs to move the cursor to anywhere on the screen.  This opened up
the possibility of "full screen" editors, for example.  This is where
vi(1) became possible, replacing ed(1).  That was in the mid to late
1970s.

The main problem that curses (more correctly, the termcap part of that
system) handled was the great diversity of terminals.  They each had
their own command structure, capabilities, and foibles.  Termcap(5) was
replaced by terminfo(5) (mostly).  Each is a specialized database
describing terminals.

A subtle mismatch between the database entry you are using and the
terminal you are using can cause mysteriously wrong screen updates.  A
similar effect can be cause by a misunderstanding of the semantics of
an entry by the applications programmer.

I'm ignoring vector displays which could do much more because they
were too expensive to put on programmers' desks.  The first one I used
cost about the same as five ordinary houses (IBM 2250 in the late
1960s).

Eventually memory got cheap enough that raster-scan bit-mapped
displays became inexpensive and, along with the mouse, GUIs as we know
them became practical (Xerox PARC's Alto was the progenerator in the
mid 1970s; the Apple Mac+ was perhaps the first successful mass market
one in 1885 (even I would quibble: I had an Atari 1040ST slightly
before that)).

What I use most on my fancy X is xterm, an emulation of a glass
teletype.  Two applications I use a lot are "full screen" within that
virtual terminal: alpine and JOVE (an EMACS-subset editor dating back
to the early 1980s).  Most of the rest of the applications I use in an
xterm are even cruder: they'd work (slowly) within the original
teletype model (e.g. bash, if you ignore command-line editing).

-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux