From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Tab bar Date: Mon, 07 Apr 2008 12:52:59 -0400 Message-ID: References: <87wsnaso3h.fsf@jurta.org> <87d4p2tuim.fsf@jurta.org> <000201c898c9$bf7eb620$c2b22382@us.oracle.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1207587283 944 80.91.229.12 (7 Apr 2008 16:54:43 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 7 Apr 2008 16:54:43 +0000 (UTC) Cc: 'Juri Linkov' , koppel@ece.lsu.edu, rms@gnu.org, emacs-devel@gnu.org To: "Drew Adams" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Apr 07 18:55:15 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Jiuck-000362-Ph for ged-emacs-devel@m.gmane.org; Mon, 07 Apr 2008 18:55:15 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jiuc7-0006Om-OH for ged-emacs-devel@m.gmane.org; Mon, 07 Apr 2008 12:54:35 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jiuau-0005AU-Ci for emacs-devel@gnu.org; Mon, 07 Apr 2008 12:53:20 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jiuan-00054m-1Q for emacs-devel@gnu.org; Mon, 07 Apr 2008 12:53:14 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jiuam-00053H-EY for emacs-devel@gnu.org; Mon, 07 Apr 2008 12:53:12 -0400 Original-Received: from 76-10-147-176.dsl.teksavvy.com ([76.10.147.176] helo=ceviche.home) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jiuac-0003EI-G9; Mon, 07 Apr 2008 12:53:02 -0400 Original-Received: by ceviche.home (Postfix, from userid 20848) id 4DEA670464; Mon, 7 Apr 2008 12:52:59 -0400 (EDT) In-Reply-To: <000201c898c9$bf7eb620$c2b22382@us.oracle.com> (Drew Adams's message of "Mon, 7 Apr 2008 09:09:23 -0700") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 3) X-Greylist: delayed 7838 seconds by postgrey-1.27 at monty-python; Mon, 07 Apr 2008 12:53:02 EDT X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:94595 Archived-At: >> It would be good to have a tab bar of perspectives, too. > Especially if you are talking about having multiple tab bars of > different types, using something narrow, such as a header line, is > better than using huge tabs, such as were shown. All the current Elisp-based tabbars I've seen might be good proofs-of-concept but are not appropriate implementations: they either hijack the toolbar, or the header-line, neither of which is acceptable. Also they both have the corresponding limitation: tabbar.el cannot be used for perspectives because header lines are "per-window", and tab-bar.el cannot be used for buffers because toolbars are "per-frame". I think a good implementation for a tabbar would be to use a whole window (and buffer) for the tabbar (set mode-line-format to nil and window-min-height to 1 or 2). This would allow placing it anywhere in the window tree, and hence all both "one per frame" and "one per window". Of course, to make it work well, we probably need some changes at the C level in order to treat those windows specially, although we can probably kludge around it in an Elisp-only proof-of-concept. Stefan