From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: Some ideas to improve Tab Bar Date: Sat, 27 Feb 2021 22:12:02 +0200 Organization: LINKOV.NET Message-ID: <87czwlnxyt.fsf@mail.linkov.net> References: <871rghlvxe.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9455"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) Cc: emacs-devel@gnu.org To: Gabriel do Nascimento Ribeiro Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Feb 27 21:16:27 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lG60o-0002JL-LL for ged-emacs-devel@m.gmane-mx.org; Sat, 27 Feb 2021 21:16:26 +0100 Original-Received: from localhost ([::1]:52438 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lG60n-0006xC-I7 for ged-emacs-devel@m.gmane-mx.org; Sat, 27 Feb 2021 15:16:25 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54708) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lG5yf-00061K-3B for emacs-devel@gnu.org; Sat, 27 Feb 2021 15:14:13 -0500 Original-Received: from relay12.mail.gandi.net ([217.70.178.232]:53765) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lG5yc-0002I8-2r for emacs-devel@gnu.org; Sat, 27 Feb 2021 15:14:12 -0500 Original-Received: from mail.gandi.net (m91-129-96-116.cust.tele2.ee [91.129.96.116]) (Authenticated sender: juri@linkov.net) by relay12.mail.gandi.net (Postfix) with ESMTPSA id 9E0D4200006; Sat, 27 Feb 2021 20:14:03 +0000 (UTC) In-Reply-To: (Gabriel do Nascimento Ribeiro's message of "Wed, 25 Nov 2020 14:19:49 -0300") Received-SPF: pass client-ip=217.70.178.232; envelope-from=juri@linkov.net; helo=relay12.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:265734 Archived-At: >>> 3. An easier way to add more items to Tab Bar to make it act more like >>> a general Bar. The following example was shared in Emacs Devel >>> mailing list on how to add a simple clock to the right of Tab Bar: >>> ========================================= >>> (advice-add 'tab-bar-make-keymap-1 :around >>> (lambda (orig-fun) >>> (append (funcall orig-fun) >>> `((display-time menu-item >>> ,(concat >>> (propertize " " 'display '(space :align-to (- right 5))) >>> (format-time-string "%H:%M")) >>> ignore)))) >>> '((name . tab-bar-display-time))) >>> ========================================= >> >> Do you propose to add functions that would allow doing this more easily? >> Maybe using some hooks? > > I didn't think in any implementation, actually. But I could see the potential of > the Tab Bar towards a more general Bar and that many users would like a better > control on what is displayed there, like adding custom texts or buttons. I ran > into this idea by reading some threads here in emacs-devel. I know `mode-line' > is super customizable and a there is `header-line' also, but that means having > additional bars on the screen. This thread was in https://lists.gnu.org/archive/html/emacs-devel/2019-10/msg00672.html And indeed, when display-time-mode or display-battery-mode is enabled, it duplicates information about battery status or time in every mode line of every window. Instead of duplicating the same information in every mode line of every window, now tab-bar-mode has a new variable tab-bar-format. A new element tab-bar-format-global can be added to its list. In this case, when `display-time-mode' is enabled and automatically updates the time string every minute using a timer, it updates time on the tab bar, without duplicating it in every mode line.