From unknown Mon Aug 18 11:07:27 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#71939 <71939@debbugs.gnu.org> To: bug#71939 <71939@debbugs.gnu.org> Subject: Status: tab-bar `tab-bar-show-inactive-group-tabs' feature request Reply-To: bug#71939 <71939@debbugs.gnu.org> Date: Mon, 18 Aug 2025 18:07:27 +0000 retitle 71939 tab-bar `tab-bar-show-inactive-group-tabs' feature request reassign 71939 emacs submitter 71939 Ship Mints severity 71939 wishlist thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 04 09:42:03 2024 Received: (at submit) by debbugs.gnu.org; 4 Jul 2024 13:42:03 +0000 Received: from localhost ([127.0.0.1]:41800 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sPMio-0001ZW-KB for submit@debbugs.gnu.org; Thu, 04 Jul 2024 09:42:03 -0400 Received: from lists.gnu.org ([209.51.188.17]:44772) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sPMim-0001Z7-PY for submit@debbugs.gnu.org; Thu, 04 Jul 2024 09:42:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sPMik-0002Cx-3p for bug-gnu-emacs@gnu.org; Thu, 04 Jul 2024 09:41:58 -0400 Received: from mail-ua1-x931.google.com ([2607:f8b0:4864:20::931]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sPMih-0007Qz-6g for bug-gnu-emacs@gnu.org; Thu, 04 Jul 2024 09:41:57 -0400 Received: by mail-ua1-x931.google.com with SMTP id a1e0cc1a2514c-8102bbc95d1so213007241.2 for ; Thu, 04 Jul 2024 06:41:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1720100513; x=1720705313; darn=gnu.org; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=SsO5gcq9xg4kWKL6dAdJivyzzU9nFVWJ72bh9td64mo=; b=Fnf4qkWWfFApLooHnpRwc9+BIkES5v2x0MwWgtSxLJC8dBHc7PjtdQkrGofz3C/dGN Xxn9uv8EnbPeatMJ7o+/ECjTg4dnoOg0wosJ40rf2jQWSeN/5ug11fxTCLIF2a4ou2UK EcpoIhO0FaxMxk6nqDdZEzlk0kux0cK2Pxt4rGGdQGzx//F/drolaLVLY2k2ALAYd0FB OBnBjeb4hTMfffZs8D/BHE8VaiuVAYVwh+jjIaRHCDgoxKEBNBjAjtli29IIPHUKuTsZ zvtjUlM/mGlnpihktOApTl+wz1vLP8pBB/JCRnHT3dTv3UDwP1pwPpAI/26hbJGDHVD4 cRNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720100513; x=1720705313; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=SsO5gcq9xg4kWKL6dAdJivyzzU9nFVWJ72bh9td64mo=; b=S7mEJaSrvdarYrW/mojE4BQezdk5+xvuyV9XJw/M2v+2iCv9ICPKnmzggl8jbo9cuW p1T5U2CUB+D4Y7BK/P1jhutNyRZYE74uCmhiBvjjdl5eTXGJ9qoBvsIPtTB0Qb8/voJG dkxfIHDYMZl8CkRq53oz2kN112Wj+dbx6nqZqaep51kQXSzaNDTnBoGip5HgFbDInS66 waTRGrz3F2xGsdYjYxCLhHeJY71/HVd9VB6GigAoDkaZ8Xm/o6/1F2/mNgjTgt7zo/UC IhP83AfkFVQM8LShSPxQWfb9dXdbDr9zsU3JNaSh5d4T08fZkx1rIQ9OR1HMWqA78TGs 4ngw== X-Gm-Message-State: AOJu0YwNDOYf0l0qg/1wjsnYT3PRuQfACgCkEu3U+hMDn5+j5CQeJ5yL VWJ9H0Hd5L8AxPvbP6piOUJyWISHC08bNB5+3kOgPGm3ufbDLb8+IWjiVUowb4z8ZNvvgAwmfGK /TaDxqeng79WtjScdkJY3e19WzpvI/g== X-Google-Smtp-Source: AGHT+IHlpja9LB4XhqqXzT5nxmLbpG+UgieLqcQEeIbr5scCMD9PsNn+disZCJ2LJxDm+9rwYSv36ZQ55SgwP4QUAlU= X-Received: by 2002:a05:6122:4303:b0:4ef:6500:b6b3 with SMTP id 71dfb90a1353d-4f2f3f00be3mr1972391e0c.6.1720100513362; Thu, 04 Jul 2024 06:41:53 -0700 (PDT) MIME-Version: 1.0 From: Ship Mints Date: Thu, 4 Jul 2024 09:41:42 -0400 Message-ID: Subject: tab-bar `tab-bar-show-inactive-group-tabs' feature request To: "Joseph Turner via Bug reports for GNU Emacs, the Swiss army knife of text editors" Content-Type: multipart/alternative; boundary="00000000000013b8a4061c6c1c3c" Received-SPF: pass client-ip=2607:f8b0:4864:20::931; envelope-from=shipmints@gmail.com; helo=mail-ua1-x931.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: Juri Linkov X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --00000000000013b8a4061c6c1c3c Content-Type: text/plain; charset="UTF-8" I'd like to propose that `tab-bar' allow optionally showing tabs for inactive groups when `tab-bar-format-tabs-groups' is in force rather than the always-on policy of collapsing inactive groups. The proposed custom variable `tab-bar-show-inactive-group-tabs' is backward compatible for existing users and has no visible changes for people who do not set it to t. I will occasionally set the value locally to alter frame by frame behavior. I've also used a key binding to toggle the behavior to nice effect. I've been using these changes (via advice :override) under Emacs 29.3. Thanks, again, for this package. The proposed implementation is below with new/changed code in bold. *(defcustom tab-bar-show-inactive-group-tabs nil "Show tabs which are in inactive groups." :type 'boolean :initialize 'custom-initialize-default :set (lambda (sym val) (set-default sym val) (force-mode-line-update)) :group 'tab-bar :version "30.x")* (defun tab-bar-format-tabs-groups () "Produce tabs for the tab bar grouped according to their groups." (let* ((tabs (funcall tab-bar-tabs-function)) (current-group (funcall tab-bar-tab-group-function (tab-bar--current-tab-find tabs))) (previous-group nil) (i 0)) (mapcan (lambda (tab) (let ((tab-group (funcall tab-bar-tab-group-function tab))) (setq i (1+ i)) (prog1 (cond ;; Show current group tabs and ungrouped tabs ((or (equal tab-group current-group) (not tab-group)) (append ;; Prepend current group name before first tab (when (and (not (equal previous-group tab-group)) tab-group) (tab-bar--format-tab-group tab i t)) ;; Override default tab faces to use group faces (let ((tab-bar-tab-face-function tab-bar-tab-group-face-function)) (tab-bar--format-tab tab i)))) ;; Show first tab of other groups with a group name ((not (equal previous-group tab-group)) * (append (tab-bar--format-tab-group tab i) (when tab-bar-show-inactive-group-tabs (let ((tab-bar-tab-face-function tab-bar-tab-group-face-function)) (tab-bar--format-tab tab i)))))* ;; Hide other group tabs * (t (when tab-bar-show-inactive-group-tabs (let ((tab-bar-tab-face-function tab-bar-tab-group-face-function)) (tab-bar--format-tab tab i)))))* (setq previous-group tab-group)))) tabs))) -Stephane --00000000000013b8a4061c6c1c3c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I'd like to propose that= `tab-bar' allow optionally showing tabs for inactive groups when `tab-= bar-format-tabs-groups' is in=C2=A0force rather than the always-on poli= cy of collapsing inactive groups.

The proposed custom variabl= e `tab-bar-show-inactive-group-tabs' is backward compatible for existin= g users and has no visible changes for people who do not set it to t.=C2=A0= I will occasionally set the va= lue locally to alter frame by frame behavior. I've also used a key bind= ing to toggle the behavior to nice effect.

I've been using these changes (via advice :override) under Emac= s 29.3.

<= /div>
Thanks, again, for this pac= kage.

The proposed implementation is below with new/changed c= ode in bold.

(defcustom tab-bar-show-inactive-group-tabs n= il
=C2=A0 "Show tabs which are in inactive groups."
=C2=A0 = :type 'boolean
=C2=A0 :initialize 'custom-initialize-default
= =C2=A0 :set (lambda (sym val)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(set-def= ault sym val)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(force-mode-line-update)= )
=C2=A0 :group 'tab-bar
=C2=A0 :version "30.x")

(defun tab-bar-format-tabs-groups ()
=C2=A0 "Produce tabs for = the tab bar grouped according to their groups."
=C2=A0 (let* ((tabs= (funcall tab-bar-tabs-function))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(cur= rent-group (funcall tab-bar-tab-group-function
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0(tab-bar--current-tab-find tabs)))
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0(previous-group nil)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= (i 0))
=C2=A0 =C2=A0 (mapcan
=C2=A0 =C2=A0 =C2=A0(lambda (tab)
=C2= =A0 =C2=A0 =C2=A0 =C2=A0(let ((tab-group (funcall tab-bar-tab-group-functio= n tab)))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(setq i (1+ i))
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0(prog1 (cond
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0;; Show current group tabs and ungrouped tabs=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((or (equal = tab-group current-group) (not tab-group))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (append
=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; Prepend current group name befo= re first tab
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0(when (and (not (equal previous-group tab-group)) tab-group)
= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0(tab-bar--format-tab-group tab i t))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; Override default tab faces to use = group faces
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0(let ((tab-bar-tab-face-function tab-bar-tab-group-face-function)= )
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0(tab-bar--format-tab tab i))))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0;; Show first tab of other groups with a group n= ame
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0((not = (equal previous-group tab-group))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 (append
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(tab-bar--format-tab-group tab i)
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(when tab= -bar-show-inactive-group-tabs
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(let ((tab-bar-tab-face-function tab-bar-= tab-group-face-function))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(tab-bar--format-tab tab i)))))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0;; Hide oth= er group tabs
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0(t (when tab-bar-show-inactive-group-tabs
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (let ((tab-bar-tab-= face-function tab-bar-tab-group-face-function))
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (tab-bar--forma= t-tab tab i)))))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(setq prev= ious-group tab-group))))
=C2=A0 =C2=A0 =C2=A0tabs)))

-Steph= ane --00000000000013b8a4061c6c1c3c-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 04 12:14:40 2024 Received: (at 71939) by debbugs.gnu.org; 4 Jul 2024 16:14:40 +0000 Received: from localhost ([127.0.0.1]:42827 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sPP6W-0006JZ-4p for submit@debbugs.gnu.org; Thu, 04 Jul 2024 12:14:40 -0400 Received: from relay6-d.mail.gandi.net ([217.70.183.198]:43677) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sPP6T-0006Iw-Al for 71939@debbugs.gnu.org; Thu, 04 Jul 2024 12:14:37 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id B43E0C0003; Thu, 4 Jul 2024 16:14:08 +0000 (UTC) From: Juri Linkov To: Ship Mints Subject: Re: bug#71939: tab-bar `tab-bar-show-inactive-group-tabs' feature request In-Reply-To: (Ship Mints's message of "Thu, 4 Jul 2024 09:41:42 -0400") Organization: LINKOV.NET References: Date: Thu, 04 Jul 2024 19:12:29 +0300 Message-ID: <864j95qh7q.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 71939 Cc: 71939@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > I'd like to propose that `tab-bar' allow optionally showing tabs for > inactive groups when `tab-bar-format-tabs-groups' is in force rather than > the always-on policy of collapsing inactive groups. > > The proposed custom variable `tab-bar-show-inactive-group-tabs' is backward > compatible for existing users and has no visible changes for people who do > not set it to t. I will occasionally set the value locally to alter frame > by frame behavior. I've also used a key binding to toggle the behavior to > nice effect. > > I've been using these changes (via advice :override) under Emacs 29.3. Thanks for the suggestion. I'll try to adapt this for Emacs 31. From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 29 14:29:31 2024 Received: (at 71939) by debbugs.gnu.org; 29 Jul 2024 18:29:31 +0000 Received: from localhost ([127.0.0.1]:46328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYV7j-0003H5-6Z for submit@debbugs.gnu.org; Mon, 29 Jul 2024 14:29:31 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:59077) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYV7g-0003Ge-SY; Mon, 29 Jul 2024 14:29:29 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 4513D1BF207; Mon, 29 Jul 2024 18:28:47 +0000 (UTC) From: Juri Linkov To: Ship Mints Subject: Re: bug#71939: tab-bar `tab-bar-show-inactive-group-tabs' feature request In-Reply-To: <864j95qh7q.fsf@mail.linkov.net> (Juri Linkov's message of "Thu, 04 Jul 2024 19:12:29 +0300") Organization: LINKOV.NET References: <864j95qh7q.fsf@mail.linkov.net> Date: Mon, 29 Jul 2024 21:27:49 +0300 Message-ID: <86wml4rr2y.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 71939 Cc: 71939@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) close 71939 31.0.50 thanks >> I'd like to propose that `tab-bar' allow optionally showing tabs for >> inactive groups when `tab-bar-format-tabs-groups' is in force rather than >> the always-on policy of collapsing inactive groups. >> >> The proposed custom variable `tab-bar-show-inactive-group-tabs' is backward >> compatible for existing users and has no visible changes for people who do >> not set it to t. I will occasionally set the value locally to alter frame >> by frame behavior. I've also used a key binding to toggle the behavior to >> nice effect. >> >> I've been using these changes (via advice :override) under Emacs 29.3. > > Thanks for the suggestion. I'll try to adapt this for Emacs 31. I adapted this for Emacs 31 and pushed to master. Thanks for this feature. From debbugs-submit-bounces@debbugs.gnu.org Mon Jul 29 15:07:26 2024 Received: (at 71939) by debbugs.gnu.org; 29 Jul 2024 19:07:26 +0000 Received: from localhost ([127.0.0.1]:46355 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYViP-0004CX-TS for submit@debbugs.gnu.org; Mon, 29 Jul 2024 15:07:26 -0400 Received: from mail-oo1-f42.google.com ([209.85.161.42]:56829) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sYViM-0004CJ-KG for 71939@debbugs.gnu.org; Mon, 29 Jul 2024 15:07:24 -0400 Received: by mail-oo1-f42.google.com with SMTP id 006d021491bc7-5d5bb03ff1dso2238737eaf.1 for <71939@debbugs.gnu.org>; Mon, 29 Jul 2024 12:07:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1722279964; x=1722884764; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=HH7gGN5mBO+NoEGGNjMNTVAX1qHPLS/z9zzEsErF1vI=; b=lQ6acP85LFpzWOq8HXDwVO1l03vNJZxzHqI5y5zT0BBoyEsgSSkTXq7rlZDb0JqqFh a/guJ7YwO9XV+nzT2wy8+xmhCNF5Ikps38A0A8nmIh90n7NEK+THUdkhbBNbV+0nuqnT c5BdfNdo6KKm/W50MhF2r5DOCZ7VyUivNlplWbkUklMv3PuUS706FZWXoXmuFlnsNDFB auhNP2M/DJHhvf0zLkaJ1mck/kuDfj3PU5FrXHXE/lOGwT7ZhUvdWXEGJQEJvyy4gbki QZulb4PgbgIW9ETgAVw1gJ/OOU5d+1XfakIVNeQyEhwC0lbsQjhJnEqxTXscH5B4IHRZ Cs6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722279964; x=1722884764; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HH7gGN5mBO+NoEGGNjMNTVAX1qHPLS/z9zzEsErF1vI=; b=NaDBl1jO3shvWXJx64EnGirjsTl5n4YYgAUypW6HX5h9sqZcxNKNZPb97inlalmN8T ypHy4UkGtjG3Ib+y1zk/yYG1zhZcWCTAEAd1zj4FQ/2Y6QoDHo0V2UDAqCRVIVl1GR1G 5yIhs6gavFBJbz1WHSyUWgafpeOMtev4+Lo4YC3insexS0YAp7WGkPUqbm3VNMwUDvGZ ZRml/lEVM9vcTAMnLOseCV68zr/pImU4Yxa7d5jD7tM+LutKjTXQYndGh8RN4shYiRvQ HahekqeUcCdDDC1MNhldTGCGtq8f0tYFTFupRI/EUMrsk8D9bVrZ/uTUi9l/LfcK364t w6xA== X-Gm-Message-State: AOJu0Yx2OFwfG8aC+m5Vt1Nv2AAcueNPbfZTdS4oQunoSnPkSKF4/UPq yC9uUuDlxEVo5jNBfLse1h88p5lPFZ22PSnsLKz1dm1czU+0f+C+bbcc4YSN/OkBl9/LOyMI2a5 NRX0Y+FmCuzCIn3YcH4eq4q+FJZYzSAMs X-Google-Smtp-Source: AGHT+IHsCVdEK2i6LbayWAn+kBsTFA2DEmV8AaHRhYT6hGJ0bIa9R3YdqAjsDVzxzeM7K544al9nkS5YD0Fq0wtgcwU= X-Received: by 2002:a05:6358:730c:b0:1ac:f323:ea18 with SMTP id e5c5f4694b2df-1adc06641c8mr968708355d.8.1722279963593; Mon, 29 Jul 2024 12:06:03 -0700 (PDT) MIME-Version: 1.0 References: <864j95qh7q.fsf@mail.linkov.net> <86wml4rr2y.fsf@mail.linkov.net> In-Reply-To: <86wml4rr2y.fsf@mail.linkov.net> From: Ship Mints Date: Mon, 29 Jul 2024 15:05:52 -0400 Message-ID: Subject: Re: bug#71939: tab-bar `tab-bar-show-inactive-group-tabs' feature request To: Juri Linkov Content-Type: multipart/alternative; boundary="0000000000006f1a75061e678dae" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 71939 Cc: 71939@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --0000000000006f1a75061e678dae Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thank you. In my config, I've also implemented "(setq tab-bar-inhibit-inactive-group-tab-hints t)" which suppresses tab hints on group tabs when inactive groups are being displayed as they are generally superfluous in that case. We could make suppressing tab hints on group tabs when inactive groups are being displayed as the only behavior which is also fine by me. (defun my/tab-bar-tab-group-format-function (tab i &optional current-p) * (let ((tab-bar-tab-hints (if (and tab-bar-show-inactive-group-tabs tab-bar-inhibit-inactive-group-tab-hints) nil tab-bar-tab-hints)))* (concat (propertize my:tab-bar-tab-group-name-prefix 'face (if current-p 'tab-bar-tab-group-current 'tab-bar-tab-group-inactive)) (tab-bar-tab-group-format-default tab i current-p)))) On Mon, Jul 29, 2024 at 2:28=E2=80=AFPM Juri Linkov wrote= : > close 71939 31.0.50 > thanks > > >> I'd like to propose that `tab-bar' allow optionally showing tabs for > >> inactive groups when `tab-bar-format-tabs-groups' is in force rather > than > >> the always-on policy of collapsing inactive groups. > >> > >> The proposed custom variable `tab-bar-show-inactive-group-tabs' is > backward > >> compatible for existing users and has no visible changes for people wh= o > do > >> not set it to t. I will occasionally set the value locally to alter > frame > >> by frame behavior. I've also used a key binding to toggle the behavior > to > >> nice effect. > >> > >> I've been using these changes (via advice :override) under Emacs 29.3. > > > > Thanks for the suggestion. I'll try to adapt this for Emacs 31. > > I adapted this for Emacs 31 and pushed to master. > Thanks for this feature. > --0000000000006f1a75061e678dae Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
<= font face=3D"monospace">Thank you. In my config, I've also implemented = "(setq tab-bar-inhibit-inactive-group-tab-hints t)" which suppres= ses tab hints on group tabs when inactive groups are being displayed as the= y are generally superfluous in that case. We could make suppressing tab hin= ts on group tabs when inactive groups are being displayed as the only behav= ior which is also fine by me.

(defun my/tab-bar-tab-group-format-f= unction (tab i &optional current-p)
=C2=A0 (let ((tab-bar-tab-hin= ts
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(if (and tab-bar-show-inactive-grou= p-tabs
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ta= b-bar-inhibit-inactive-group-tab-hints)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0nil
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0tab-bar-ta= b-hints)))
=C2=A0 =C2=A0 (concat
=C2=A0 =C2=A0 =C2=A0(propertize<= br>=C2=A0 =C2=A0 =C2=A0 my:tab-bar-tab-group-name-prefix
=C2=A0 =C2=A0 = =C2=A0 'face (if current-p 'tab-bar-tab-group-current 'tab-bar-= tab-group-inactive))
=C2=A0 =C2=A0 =C2=A0(tab-bar-tab-group-format-defau= lt tab i current-p))))

<= /font>
On Mon, Jul 29, 2024 at 2:28=E2=80=AFPM Juri Linkov &l= t;juri@linkov.net> wrote:
close 71939 31.0.50
thanks

>> I'd like to propose that `tab-bar' allow optionally showin= g tabs for
>> inactive groups when `tab-bar-format-tabs-groups' is in force = rather than
>> the always-on policy of collapsing inactive groups.
>>
>> The proposed custom variable `tab-bar-show-inactive-group-tabs'= ; is backward
>> compatible for existing users and has no visible changes for peopl= e who do
>> not set it to t. I will occasionally set the value locally to alte= r frame
>> by frame behavior. I've also used a key binding to toggle the = behavior to
>> nice effect.
>>
>> I've been using these changes (via advice :override) under Ema= cs 29.3.
>
> Thanks for the suggestion.=C2=A0 I'll try to adapt this for Emacs = 31.

I adapted this for Emacs 31 and pushed to master.
Thanks for this feature.

--0000000000006f1a75061e678dae-- From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 05 02:59:16 2024 Received: (at 71939) by debbugs.gnu.org; 5 Aug 2024 06:59:16 +0000 Received: from localhost ([127.0.0.1]:57781 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sarga-0003C9-1O for submit@debbugs.gnu.org; Mon, 05 Aug 2024 02:59:16 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:44969) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sargX-0003Bi-T9 for 71939@debbugs.gnu.org; Mon, 05 Aug 2024 02:59:14 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id CB7FFE0005; Mon, 5 Aug 2024 06:58:43 +0000 (UTC) From: Juri Linkov To: Ship Mints Subject: Re: bug#71939: tab-bar `tab-bar-show-inactive-group-tabs' feature request In-Reply-To: (Ship Mints's message of "Mon, 29 Jul 2024 15:05:52 -0400") Organization: LINKOV.NET References: <864j95qh7q.fsf@mail.linkov.net> <86wml4rr2y.fsf@mail.linkov.net> Date: Mon, 05 Aug 2024 09:56:54 +0300 Message-ID: <86zfpre9u1.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 71939 Cc: 71939@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Thank you. In my config, I've also implemented "(setq > tab-bar-inhibit-inactive-group-tab-hints t)" which suppresses tab hints on > group tabs when inactive groups are being displayed as they are generally > superfluous in that case. We could make suppressing tab hints on group tabs > when inactive groups are being displayed as the only behavior which is also > fine by me. Thanks for the suggestion. Now hints are not displayed for inactive groups unconditionally. From unknown Mon Aug 18 11:07:27 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 02 Sep 2024 11:24:08 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator