From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Robert J. Chassell" Newsgroups: gmane.emacs.devel Subject: Re: Patch to disable links line in *info* buffer Date: Thu, 13 Jun 2002 11:36:36 +0000 (UTC) Sender: emacs-devel-admin@gnu.org Message-ID: References: <87bsaos1fl.fsf@orebokech.com> <200206072322.g57NMtK27277@aztec.santafe.edu> <5xbsam1tje.fsf@kfs2.cua.dk> <87wut9tppe.fsf@orebokech.com> <200206101359.g5ADx7b28021@rum.cs.yale.edu> <200206130905.g5D95ie06537@aztec.santafe.edu> Reply-To: bob@rattlesnake.com NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1023968384 8145 127.0.0.1 (13 Jun 2002 11:39:44 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 13 Jun 2002 11:39:44 +0000 (UTC) Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17ISx6-00027G-00 for ; Thu, 13 Jun 2002 13:39:44 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17ITLN-00038i-00 for ; Thu, 13 Jun 2002 14:04:49 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17ISwh-0004ku-00; Thu, 13 Jun 2002 07:39:19 -0400 Original-Received: from megalith.rattlesnake.com ([140.186.114.245] helo=localhost) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17ISu6-0004Sn-00 for ; Thu, 13 Jun 2002 07:36:38 -0400 Original-Received: by rattlesnake.com via sendmail from stdin id (Debian Smail3.2.0.114) Thu, 13 Jun 2002 11:36:36 +0000 (UTC) Original-To: emacs-devel@gnu.org In-Reply-To: <200206130905.g5D95ie06537@aztec.santafe.edu> (message from Richard Stallman on Thu, 13 Jun 2002 03:05:44 -0600 (MDT)) Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:4826 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:4826 ... 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 bob@rattlesnake.com Rattlesnake Enterprises http://www.rattlesnake.com