From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gabriel Newsgroups: gmane.emacs.devel Subject: The tab-line "All" group Date: Mon, 21 Nov 2022 06:42:20 -0300 Message-ID: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21654"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Nov 21 10:43:19 2022 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 1ox3Kg-0005Ug-Qt for ged-emacs-devel@m.gmane-mx.org; Mon, 21 Nov 2022 10:43:18 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ox3K6-0006G7-VT; Mon, 21 Nov 2022 04:42:43 -0500 Original-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 1ox3Jy-0006Da-3C for emacs-devel@gnu.org; Mon, 21 Nov 2022 04:42:34 -0500 Original-Received: from mail-co1nam11olkn2019.outbound.protection.outlook.com ([40.92.18.19] helo=NAM11-CO1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ox3Ju-0004Fj-QN for emacs-devel@gnu.org; Mon, 21 Nov 2022 04:42:33 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M5ctO3udVqEVCqgXQyBY9mnEU/pMlODDJGSQf26T3Mjo1bGSw3oT7q9k1w0U4sjmSpyxuL2324EtGxoYLrWdyGsMPnbVYfiIoScm5ytWgqJxqwoiWHmItUgWMf+R7szwiM1bJmjC8RBE9UIA/wj3fYlKfCDoJ1yqGt+lgQ6mtKYg9LqhBput0UK2EKatmc392VsJE1SvCedITkKF3flzL/LuIOOznXqJku/Ku8oGGvsWfwY3X8it8S+OWQZ3AFheWTe5RVqZvg5O12YgvPueNkLtkrS9edWA5xR2Tr6fNon7xpE6bu0e85oPwPRfs7g6qhWFtrXs/VSHQT9YReH6OQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WYr0k4rJ0Q9C8B9CuGnEsb069mXxtxnKW13r9Aajtlk=; b=GE7mFoW7JHeR5AwPZwA2ADazF6VVZshAl2gViIOx0Xavuwxs7fMfQaz4rZCTlIY5Xkcrb1kLYf1Us+U7ooyQYrjGR0ThLLaioVcBaj1wzK+O4PXLtoS6F0EJaBAN7DLErjZRz8bN4TYw4x0wNgoRWsHyiGKBirGOJi13dtS3EFien0cDZdrRMTNlkF/iAviktRDpMoyKCt2LgjXZbq+W6ckaJ62DMHwro/K/WdK5fwraWtkNMdTkipMQdNGUnFYMoQRfSR4mUrXA253tpcgRc8Slnguk+Q8blIXvqxVvJg+M6oJYROSg7Vo3X9gdMJ8i1hNV/R01j2wkc/dNi39Tdg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WYr0k4rJ0Q9C8B9CuGnEsb069mXxtxnKW13r9Aajtlk=; b=ap245TN2qEraqZnLcyiulRSH7U0fHOfuw2b3Xv1N3RC/osVtXmy5OMZbTIhnYs8DY/yznZbOUiOpc/IuI9d7H5qc/Vyc64ODZHUvafWz4eVYZ5nxQ4x/x3Oe4Cx0Jkk+7cuwItxvy9zDjWLhVOCAUgRKV4zKrION4ZUeHL0BMUlSH0HIjADNp4N9vwGOd/0EiN6Z5cL9Cz/eU8+pIEgx3yYFbKh0hy6B+6uypt3mB08p4E/1vpl+NtJosHa6IjD+mIes+2PBJTKhXj9u/zIgwxIlt/EocjXH5pDog1xDX7jfFHxQ9ekvDgENoObJ4KgWlZwLfwUzROtgxFynuaLtWg== Original-Received: from SJ0PR06MB8609.namprd06.prod.outlook.com (2603:10b6:a03:40c::11) by BN7PR06MB6404.namprd06.prod.outlook.com (2603:10b6:408:a::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.17; Mon, 21 Nov 2022 09:42:28 +0000 Original-Received: from SJ0PR06MB8609.namprd06.prod.outlook.com ([fe80::33ae:d3a7:24ae:5c6f]) by SJ0PR06MB8609.namprd06.prod.outlook.com ([fe80::33ae:d3a7:24ae:5c6f%4]) with mapi id 15.20.5857.017; Mon, 21 Nov 2022 09:42:27 +0000 X-TMN: [4rgWBthIQa+U3g2cb7ulZKIAeTLCRYRQ2wzITyg9ctBivR5eiQxGYTuZmAT8SXrk] X-ClientProxiedBy: CPYP284CA0018.BRAP284.PROD.OUTLOOK.COM (2603:10d6:103:68::23) To SJ0PR06MB8609.namprd06.prod.outlook.com (2603:10b6:a03:40c::11) X-Microsoft-Original-Message-ID: <87ilj8abk3.fsf@hotmail.com> X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR06MB8609:EE_|BN7PR06MB6404:EE_ X-MS-Office365-Filtering-Correlation-Id: ed894c46-6eda-4932-502e-08dacba4b2d7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bq9Fr5UlK2pMCeKs2MezgTMDpIgvNyT5yKss8kA9lAcOEUqUGnwMVU60TJmx0geyiAcJp1R7GepDBQhqD57qMth2WB93XdkAZnFARvLin67U9kXXrJo+3aEsOY4idjW1YHOyosvLCJRZ9WHHTfXxaz3YQ/vYPzhmLFNn1bx3QMMBNG0CzIhvjXteslnCsNKgYV5ZMoTf+kVZx0li8cOyVdoghQ2pSMBFbQT9p60CLe5KM74ZxrwoefzYfa/qSO4A6LxEnI3Fm0CQHs2LE94cG8wp0bTXND2R7EktX7KMt83cRSM7Obm/IJW2gfp5n3+TTjCcOaijcFOA9sX/ztJ3RwyUtY8w5o/OdfP/Vv8toQ2MHxT3Vn0gthjkaJgfrVT/JSfi3dfm3y2cR0XT2JtiRrrau8uRTvHYEwtU41JwjR9tymAjeU9eNkvawH+U6znsB//PaXujyHssEOrS3D09sNowKWC05yYBtKo/GpuENM5yfo+Fhosp4tJun/AMtc769D/n26crng4PF0jgG8D7DxchiO/evYNKaW/UaCl2Sks7voxVe+gjqP89qpg64bQ8oI4VRDbSsC14JnyyIL/PjlqXf57MFchYinv95HQyYNA= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qRUG/c7FLvfumyTNNig86uJ5zVXOEiYiKRS7TVMEEX4y3p1/qWGv5ryvRxGs?= =?us-ascii?Q?3dC7yq1boMXqoFlHnMNlAJjqz365t9+mhCl0LxsrkpKmWO8ubctrXPp/NqfE?= =?us-ascii?Q?99YUj1TdbaPKVOxair2ufKqJoRCaj6bC6cbiOQU/jWurz2VrgKRBM7yX6vvu?= =?us-ascii?Q?RA9m2bNkLWyUQfgpw0FO0Qmvg5DgwMXPx0zyDSkJsqn8HxDlMZtcUBhZAxkt?= =?us-ascii?Q?qPWk8OTpnmFAYLAApPWRhK9orXYDtJfpaqi32c11WzGS+4V2jcu6COIQj8aF?= =?us-ascii?Q?CqRvyVeGNaQ5qQ0riLHqmDvR8JitCoh3emqNkzIXfk0/OFsm/wN2K2IZw9Nt?= =?us-ascii?Q?z5G3J3VHp33hBEMEdFLOD6PNno1aQpyG3h7Jz2MquufVVajb8iNkOvSdd3lj?= =?us-ascii?Q?nthKxvwIbvTCBK4dXOMDGzDWnub8oLh6Op27db+Ikos3cOmSkC4uxDLmPODA?= =?us-ascii?Q?UokmWE2psurcPgPBRbW7H57yFr5Q2oYX0o4F4ur5XEFKzHGVW9MHJFFxO3pA?= =?us-ascii?Q?yd6wnVYPGiwmLnU0q2Y27NhNHd704ptkUuQTSA1xxhF/gV2VnfHMhFQKyzRs?= =?us-ascii?Q?oKwzkclYiIsCI4rqSseJhqOUevZ2Ug26CWryupyI+eQ/3QJ3S8Enz/CdQA1X?= =?us-ascii?Q?ZO X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-89723.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: ed894c46-6eda-4932-502e-08dacba4b2d7 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR06MB8609.namprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2022 09:42:27.9316 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR06MB6404 Received-SPF: pass client-ip=40.92.18.19; envelope-from=gabriel376@hotmail.com; helo=NAM11-CO1-obe.outbound.protection.outlook.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-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.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:300287 Archived-At: The behavior of `tab-line-tabs-buffer-group-function' when returning nil, according to its docstring, is that the "buffer should be filtered out". I found it not really elucidative, though. The actual behavior is to display a group called "All" (currently, a hardcoded value) and don't display any tab (for the buffers that belongs to this group, i.e., for cases when (funcall tab-line-tabs-buffer-group-function buffer) returns nil). What are the actual use-cases where the behavior of "filtering out" tabs (i.e. to don't display) for the "All" group is useful? (i.e., to hide tabs *only* in the "All" group when the user has explicitly enabled the tab-line mode to actually see tabs). Personally, I find it somewhat confusing, especially because the name "All" might led the user to think that this group contains all tabs, which is not true. The name "Others"/"Rest"/etc would make more sense in this context. If I had to choose, I would demand `tab-line-tabs-buffer-group-function' to always return a valid (non-nil) group name. If an "All" group is really useful, we can properly implement it, i.e., to have a group that *actually* contains all tabs. At last, when `tab-line-tabs-buffer-group-function' returns an empty string, it adds the opposite (undocumented and unintended, I guess) "feature": to display tabs but not the group name. The tabs are actually added to a group named "", but the tab name is not displayed, since it's an empty string. Not sure if this info is useful or if we need to change something here, but I thought it would be nice to share. Here is a simple snippet to play with tab-line groups: #+begin_src emacs-lisp (progn (defvar my-tab-line-group-default-value nil) (defun my-tab-line-group-function (buffer) "Group tab-line tabs by project." (with-current-buffer buffer (if-let ((project (project-current))) (project-root project) my-tab-line-group-default-value))) (setopt tab-line-tabs-function 'tab-line-tabs-buffer-groups tab-line-tabs-buffer-group-function #'my-tab-line-group-function) (global-tab-line-mode 1)) #+end_src