emacs-devel
[Top][All Lists]
Advanced

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

Re: Patch to disable links line in *info* buffer


From: Robert J. Chassell
Subject: Re: Patch to disable links line in *info* buffer
Date: Thu, 13 Jun 2002 11:36:36 +0000 (UTC)

   ... I wonder--would it be useful if the header line displayed at
   the top of a window were part of the buffer text, rather than a
   feature like the mode line?

That adds complexity to the notion of `buffer'.  A policy of
`buffers all the way' would add simplicity.  

Instead of remaking a buffer so it has two parts, only one of which is
a window, the `buffers all the way' idea is to make every window
within a frame be a buffer of some sort: tool bar, menu bar, mode
lines, fringes, scroll bars, Info header lines, and the windows
themselves.

For this to work, buffers would need an optional `not-copy-able'
attribute as well as the current attributes.  You need to be able to
mark a mode-line as non-copy-able (except when you want to copy it).
(I am using the word `copy' because of the sometimes ambiguous meaning
of the word `read'; a scroll-bar is `readable' by the human looking at
it; but it is not `copy-able'.)

Currently, buffers have the three attributes of 

    always copy-able
    write-able
    not-write-able

Currently, mode-lines and the various bars have the two attributes of 

    not-copy-able
    not-write-able

The `buffers all the way' idea requires, among others, four
attributes:

    copy-able
    not-copy-able
    write-able
    not-write-able

Also, buffers would have to have location constraints within frames
and between frames.  For example, a scroll bar would normally sit
beside the buffer on which it reports and be tall and thin.  Of
course, you might want sometimes to put a scroll-bar elsewhere or to
make it a different shape.  So you re-write the `scroll-bar buffer'
library.  (SCWM `contraints' might provide some ideas for location
constraints.)

A mode-line would be a buffer with these default characteristics:

    not-copy-able
    not-write-able
    dependent on another buffer
    always display when other buffer shows
    always below the other buffer
    one line high, same width as its parent
    a specified set of fonts and faces
    containing special information, such as name of buffer

If you wanted to copy a visible mode-line, you could change the
`not-copy-able' attribute to `copy-able'; if you wanted to change its
look, you would change its faces.

To save screen space, you could turn off the buffer's variable that
says `always display in this context'.  You could, for example, turn
off a scroll-bar by burying it, or by not constructing it.  Or you
could hack a tool-bar to show some of the same features as an Info
header line, and avoid the Info header line.

Of course, you can do any of this hacking now; the idea is that with a
single `buffers all the way' policy, conceptualization is easier.

-- 
    Robert J. Chassell                  address@hidden
    Rattlesnake Enterprises             http://www.rattlesnake.com



reply via email to

[Prev in Thread] Current Thread [Next in Thread]