GNU bug report logs - #37667
27.0.50; Tab Bar display problems with more than 5 tabs

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Eli Zaretskii <eliz@HIDDEN>; dated Tue, 8 Oct 2019 18:57:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 22 Nov 2019 08:16:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 22 03:16:53 2019
Received: from localhost ([127.0.0.1]:53716 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iY47Z-0007DK-7O
	for submit <at> debbugs.gnu.org; Fri, 22 Nov 2019 03:16:53 -0500
Received: from mout.gmx.net ([212.227.15.18]:60923)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rudalics@HIDDEN>) id 1iY47V-0007D5-HZ
 for 37667 <at> debbugs.gnu.org; Fri, 22 Nov 2019 03:16:52 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
 s=badeba3b8450; t=1574410597;
 bh=0DuKUs8qSLwM63PytTeAN3ylQBSP2WXKEZwV6nNpNk8=;
 h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To;
 b=YaC/MR9eD8F/61beZ/USvLaPZVHdUNL3iWRsDAFQmijHQxwbaGaTJW4rYiGYlf7ad
 nEyPgutEwEd0x+ivFJ8DA1l6hXHB5/pwIfVlY2N0X5DEKpBDg8lkLQSYqK4Tt/ag1C
 TltdRQiepWm4uno5suJENX8/YFPC4OESFlKqxsfA=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.1.101] ([212.95.5.35]) by mail.gmx.com (mrgmx004
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N17UW-1hrg4711Sc-012V1T; Fri, 22
 Nov 2019 09:16:37 +0100
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
To: Juri Linkov <juri@HIDDEN>
References: <83o8yrvzgh.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <871ru6xjof.fsf@HIDDEN>
 <83y2wd2m5a.fsf@HIDDEN> <8736eksv91.fsf@HIDDEN>
 <83sgmj24ij.fsf@HIDDEN> <87a78rqxfv.fsf@HIDDEN>
 <835zjf1a8k.fsf@HIDDEN> <87k17unpdi.fsf@HIDDEN>
 <6166c73a-2a25-dac4-47c9-5e66e610a57b@HIDDEN>
 <87pnhkj3lx.fsf@HIDDEN>
From: martin rudalics <rudalics@HIDDEN>
Message-ID: <42c3a37b-7814-ab13-8be6-056638e8ec0a@HIDDEN>
Date: Fri, 22 Nov 2019 09:16:33 +0100
MIME-Version: 1.0
In-Reply-To: <87pnhkj3lx.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: de-AT
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K1:KdFPAMbgNc9jXyX5dTdfawnnWR8k1ftrEpJSONMkG5ul7J4Kw18
 9ghq6FUKOxf3s2HpeOn+84WvRSI/4+d6MLSu5X6yC18BpE27SryK1ZyQcf7+IQU/jwOaEaS
 2Mpe7evZKp4ukUCqHX3u88ib/bVkTX/+YH5XamRUHK6RFwlBtL9EWDUMcKcHjjXqBhoiJWR
 zoU1fwX8jQMtc7HgNKvEA==
X-Spam-Flag: NO
X-UI-Out-Filterresults: notjunk:1;V03:K0:mTK6XPm7OhU=:nUhuAEgB2WRFFSADPZ2wjo
 FvBVcO2OVqXHTVGrpscUj0gsXa6mnzwOhjpAIXvsLm3SSqd9X16ikYPesc2E2XLy6tKcivAP6
 AXO8oX39TKTHSm+O4XExLd3xAPROefbI7v07oq4FX3PLbtb/lDFlPYG7EEd7aZFR2I8mlABAC
 Xlsp3VrXxTEb7r6UGrtnEjoZmPLhdmrwy+ObvRmdsehBvuLhs99dRAy52po40U9uyqP8JDRH2
 tTS3yzCy+XPT77QPA3RDeEgVzgUb+rLjtOFUL7X4CBWMtcrwVGivC4sfyDPjNnXSPZFIhrL1W
 yB7ZnxfIVD7qC4u+eWG2Ph9hH2wL0578LdmJISqJcHX4W1hBpi9wRNBtZLWk2bXOiu05d7zAD
 bovPHQfzQqoX31NlDHxyktyT+scfVGSkPwgcMw4LzE5IIvQvSOXRF0QoPDQ+1yQUuFtB5W1he
 jArqbNTyeL0bxQaJGLP1EmiikPPWFxKy+NLFBVkFvlTxrNCYVMos4hM0fgNILZ0V5aPpqXJdW
 CPv3/Z/88hTv0dbGAnsi0gOlRVuBVXuGdRuj4BBj6QORKGOM/Va76x8+hkOKF0aEDibBsHyma
 cibbDJLuODZ7r4JfcQc5zhn/9Zk3sxlPPYEkSAxqU7r2OfJMpf/J76KSaIjLI8awXawoPXQst
 7LI2tE0YhOQaQljSTpyPHPX3o5G6s/gjtMkGwO3WIqyfETSWwoA8no8xUXTz8k70RA5C7olWW
 wSkT33bX+ORNTxDIXFmf4835OX5etIbASgKn4efgZFh3ouMb1qtMeHZBr/WN5o74KOlMgLLmo
 Is4AIZJwpX6mqk7sTBRZrUbtyyFQCuUW/sA+36Q4n7v0FFu5aK06BPZguljzR2fhTxSxuUW4x
 QBV31Dufx5Jp1wrHqKBmIOZla+7NF/45KSt3QiJRZ5lmCNsPjAF3OtyRjX1qk+T2aLhV3eZrG
 uqOwi2ZeEXvAXMAX/QM9FnU3zO/zG9JzKxNvghGgYVkrIOoKxCFaj6WwHhfW1Br9/8Qz/FDBe
 W8ni8BVP8IpxPp5M6YpuANQKGO0GvEklRFl25jNILkdm7K0bTpS9VEqEuybkJezZis9ijyhQm
 0hGg4LKVP53H8qIxhwoejIYCpjv6qupRwO2EsTFXMR79bid6kNxjOZYDbCrpfLDSlhu88g7nJ
 18IJfY7+fNWUV0ZMCOEAr/IzmDR11Il3P1N6DpqfmvZ4uIa74qa3Km13HIl/Nwdzn+pUNisha
 tHzf6JeL4kwaBD+0f4BJw232ZMWC5Q0C5cv5ziy0P0I7BfUoqdklwZx+kHhE=
X-Spam-Score: 3.6 (+++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  > The tab-line is used just for buffer selection, so either
 it can use > the order of buffer-list, or the order of window-prev-buffers,
 or > alphabetical order. I see no other way to sort buffers.
 'window-prev-buffers'
 lists a buffer iff it has been displayed before in the argument window.
 'buffer-list'
 does something similar for its argument frame but in principle does not care
 about whether a [...] 
 Content analysis details:   (3.6 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [212.227.15.18 listed in list.dnswl.org]
 3.6 RCVD_IN_SBL_CSS        RBL: Received via a relay in Spamhaus SBL-CSS
 [212.95.5.35 listed in zen.spamhaus.org]
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (rudalics[at]gmx.at)
X-Debbugs-Envelope-To: 37667
Cc: Eli Zaretskii <eliz@HIDDEN>, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 2.6 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  > The tab-line is used just for buffer selection, so either
    it can use > the order of buffer-list, or the order of window-prev-buffers,
    or > alphabetical order. I see no other way to sort buffers. 'window-prev-buffers'
    lists a buffer iff it has been displayed before in the argument window. 'buffer-list'
    does something similar for its argument frame but in principle does not care
    about whether a [...] 
 
 Content analysis details:   (2.6 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  3.6 RCVD_IN_SBL_CSS        RBL: Received via a relay in Spamhaus SBL-CSS
                             [212.95.5.35 listed in zen.spamhaus.org]
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
                              no trust
                             [212.227.15.18 listed in list.dnswl.org]
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (rudalics[at]gmx.at)
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

 > The tab-line is used just for buffer selection, so either it can use
 > the order of buffer-list, or the order of window-prev-buffers, or
 > alphabetical order.  I see no other way to sort buffers.

'window-prev-buffers' lists a buffer iff it has been displayed before
in the argument window.  'buffer-list' does something similar for its
argument frame but in principle does not care about whether a buffer
has been displayed already.  So you have to decide what the tab-line
should do.  Just an example: Should 'bury-buffer' affect a tab-line
and if so how?

 > You mentioned 'creation time' above.  Does a buffer have a buffer-local
 > variable for its creation time?  Then we could sort by buffer's
 > creation time.  But currently I see only the variable buffer-display-time,
 > not buffer-creation-time.

Indeed.  If you do care about yet undisplayed buffers, then such a
function might be needed.

martin




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 21 Nov 2019 23:04:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 21 18:04:19 2019
Received: from localhost ([127.0.0.1]:53487 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iXvUo-0005ll-Cp
	for submit <at> debbugs.gnu.org; Thu, 21 Nov 2019 18:04:18 -0500
Received: from crocodile.birch.relay.mailchannels.net ([23.83.209.45]:11506)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iXvUQ-0005kS-LQ
 for 37667 <at> debbugs.gnu.org; Thu, 21 Nov 2019 18:03:56 -0500
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id C349C5E194E;
 Thu, 21 Nov 2019 23:03:53 +0000 (UTC)
Received: from pdx1-sub0-mail-a7.g.dreamhost.com
 (100-96-86-105.trex.outbound.svc.cluster.local [100.96.86.105])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 37F005E133A;
 Thu, 21 Nov 2019 23:03:53 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a7.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Thu, 21 Nov 2019 23:03:53 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Average-Scare: 54bf9c2a4a770386_1574377433505_1937775666
X-MC-Loop-Signature: 1574377433504:2814019423
X-MC-Ingress-Time: 1574377433504
Received: from pdx1-sub0-mail-a7.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a7.g.dreamhost.com (Postfix) with ESMTP id CF4A482B0E;
 Thu, 21 Nov 2019 15:03:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=9G15xncrqKIjR2BTqhUkQiOH20M=; b=
 q9LA9gpC2BIN7dOkjmTKK3HRIwoXt3bWsoBnmwwmcytWt79Hu45ift5Xq3bqnEYJ
 Z5p3hx5yul6b3GPIG2aWkAaao7aGtU9ICvh01WvfkwaR/599uN+DijzCRt/FY7Im
 C2A6/p7Hd1R6THayfkaWsBBo5PrmfuSB0uOjPhlb2/k=
Received: from mail.jurta.org (m91-129-102-1.cust.tele2.ee [91.129.102.1])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a7.g.dreamhost.com (Postfix) with ESMTPSA id 8807F82B18;
 Thu, 21 Nov 2019 15:03:49 -0800 (PST)
X-DH-BACKEND: pdx1-sub0-mail-a7
From: Juri Linkov <juri@HIDDEN>
To: martin rudalics <rudalics@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <871ru6xjof.fsf@HIDDEN>
 <83y2wd2m5a.fsf@HIDDEN> <8736eksv91.fsf@HIDDEN>
 <83sgmj24ij.fsf@HIDDEN> <87a78rqxfv.fsf@HIDDEN>
 <835zjf1a8k.fsf@HIDDEN> <87k17unpdi.fsf@HIDDEN>
 <6166c73a-2a25-dac4-47c9-5e66e610a57b@HIDDEN>
Date: Thu, 21 Nov 2019 23:56:10 +0200
In-Reply-To: <6166c73a-2a25-dac4-47c9-5e66e610a57b@HIDDEN> (martin rudalics's
 message of "Thu, 21 Nov 2019 09:23:41 +0100")
Message-ID: <87pnhkj3lx.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: Eli Zaretskii <eliz@HIDDEN>, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

> Browser tabs are usually ordered by their creation time which has no
> relationship to what has been actually shown.  You can create a new
> browser tab and then remove it without ever visiting the corresponding
> link.

This is exactly how this is already implemented on the tab-bar.

> OTOH a buffer listed in 'window-prev-buffers' has been shown in
> that window at least once.  After C-x 2 the new window has just one
> element in that list, the buffer it shows.

The tab-line is used just for buffer selection, so either it can use
the order of buffer-list, or the order of window-prev-buffers, or
alphabetical order.  I see no other way to sort buffers.

You mentioned 'creation time' above.  Does a buffer have a buffer-local
variable for its creation time?  Then we could sort by buffer's
creation time.  But currently I see only the variable buffer-display-time,
not buffer-creation-time.

> The (here defunct) tab mix plus had a number of ways to affect the
> (dynamic re-)sorting of tabs including the positioning of a new tab
> wrt the currently active one.  Maybe we should try to simulate some of
> their more popular ones here.

Many features of the tab mix plus are already supported on the tab-bar.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 21 Nov 2019 14:20:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 21 09:20:55 2019
Received: from localhost ([127.0.0.1]:51644 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iXnKG-0000ZC-Rh
	for submit <at> debbugs.gnu.org; Thu, 21 Nov 2019 09:20:54 -0500
Received: from eggs.gnu.org ([209.51.188.92]:58053)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iXnKC-0000Yu-6M
 for 37667 <at> debbugs.gnu.org; Thu, 21 Nov 2019 09:20:51 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:60245)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iXnK4-0002TN-KW; Thu, 21 Nov 2019 09:20:42 -0500
Received: from [176.228.60.248] (port=3203 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iXnK2-0002Bb-2L; Thu, 21 Nov 2019 09:20:39 -0500
Date: Thu, 21 Nov 2019 16:20:51 +0200
Message-Id: <8336ehz4xo.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: martin rudalics <rudalics@HIDDEN>
In-reply-to: <6166c73a-2a25-dac4-47c9-5e66e610a57b@HIDDEN> (message from
 martin rudalics on Thu, 21 Nov 2019 09:23:41 +0100)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <871ru6xjof.fsf@HIDDEN>
 <83y2wd2m5a.fsf@HIDDEN> <8736eksv91.fsf@HIDDEN>
 <83sgmj24ij.fsf@HIDDEN> <87a78rqxfv.fsf@HIDDEN>
 <835zjf1a8k.fsf@HIDDEN> <87k17unpdi.fsf@HIDDEN>
 <6166c73a-2a25-dac4-47c9-5e66e610a57b@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org, juri@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: 37667 <at> debbugs.gnu.org
> From: martin rudalics <rudalics@HIDDEN>
> Date: Thu, 21 Nov 2019 09:23:41 +0100
> 
>  > I don't know why 'switch-to-buffer' changes the order of
>  > window-prev-buffers used in the tab-line.  We have to ask Martin
>  > is it possible to keep the original order in window-prev-buffers list.
> 
> No.  The aim of 'window-prev-buffers' (and 'window-next-buffers') is
> to make navigation between the buffers shown in that window reliable.
> So 'window-prev-buffers' is kept in a "most recently shown in that
> window first" order.
> 
> Browser tabs are usually ordered by their creation time which has no
> relationship to what has been actually shown.  You can create a new
> browser tab and then remove it without ever visiting the corresponding
> link.  OTOH a buffer listed in 'window-prev-buffers' has been shown in
> that window at least once.  After C-x 2 the new window has just one
> element in that list, the buffer it shows.

I agree.  Perhaps we should allow customization of the buffer order on
the tab line, but I think the default order should not change when one
switches buffers.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 21 Nov 2019 08:23:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 21 03:23:57 2019
Received: from localhost ([127.0.0.1]:51213 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iXhkp-0005qC-UF
	for submit <at> debbugs.gnu.org; Thu, 21 Nov 2019 03:23:57 -0500
Received: from mout.gmx.net ([212.227.15.19]:49629)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rudalics@HIDDEN>) id 1iXhko-0005px-6L
 for 37667 <at> debbugs.gnu.org; Thu, 21 Nov 2019 03:23:54 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
 s=badeba3b8450; t=1574324625;
 bh=s6CSbnFPRrJPmJo7PQ9A1L6mY6Me+tujn2kW/wYPQJE=;
 h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To;
 b=KKGg7LVaOcGtBgj36XGSPWyBQZZ5f492zXRcCT4zlrJbTw7mlv7ZS57yAGVjJPbU+
 PTgV1F68ihlX7yzxiNBbNYOZIWDmTJRuOfB3rav3XewO8Md3xJ5LoIdIZsiXvTipqm
 +6eNt+oeNrS5zB3HcjtmhFSf6igistjfMSormepI=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.1.101] ([212.95.5.206]) by mail.gmx.com (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MF3He-1ieLaz1Ero-00FWJa; Thu, 21
 Nov 2019 09:23:45 +0100
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
To: Juri Linkov <juri@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
References: <83o8yrvzgh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <871ru6xjof.fsf@HIDDEN>
 <83y2wd2m5a.fsf@HIDDEN> <8736eksv91.fsf@HIDDEN>
 <83sgmj24ij.fsf@HIDDEN> <87a78rqxfv.fsf@HIDDEN>
 <835zjf1a8k.fsf@HIDDEN> <87k17unpdi.fsf@HIDDEN>
From: martin rudalics <rudalics@HIDDEN>
Message-ID: <6166c73a-2a25-dac4-47c9-5e66e610a57b@HIDDEN>
Date: Thu, 21 Nov 2019 09:23:41 +0100
MIME-Version: 1.0
In-Reply-To: <87k17unpdi.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: de-AT
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K1:xV2UF7Es+QcLt/OfjYlv8nIyZMbF8cASg3E4vzKTOSJBcuadUe3
 BBqrkY0HJdkELjmEX+mMAZSB8ifphRNIXPNprnOtt37WqXWkz6qJhx118RfdR6KYyjpJ3+D
 Cvq/y/ibzqNn1ak66Fv4ifwFXA+xj/LZGdvrm18hQKLU410jrO6peobknyLwkDat18PXlYO
 hkaZBSPOZifakNXAwiWHA==
X-Spam-Flag: NO
X-UI-Out-Filterresults: notjunk:1;V03:K0:iMmpdsCPvHE=:IG/Q+bpYOT1hFvsssADBzD
 /0EKJItRSmxeLoJKlLjUVNmJZdzhmsDF348TOBLzgVPSrGPnVOunCEHp+BpZlCX2cbqsTGJnn
 6wJzHa7Nhdoh//QqWpg2OV5TwdEHcXMs1Exw/KVmUYNnC+kMS7Yyq5hPmivUYGbpej+C0uc/S
 0KdU4ZZqED/WmDBymgVuJqWRxZ8FX0BnC2TfuJl8UM71rQxYdXvtOPTBBzE2JcFQ4dwIxTe/9
 Se9PCO4HPLz90esn4X/m5DddH96BGn2pLN+neSqd1BBGMFsHxfiVA4vhKgh4yBA+Yhzva5jw8
 TOJZQ7y9BjzwI8gJez0jR+rYbg2muSHkQcqgX+VZ01fRD726IVMWXxYSsfxOtrrtaKNpw+8sk
 ebVuc/pqWDFrbEutkzbOvc/LjjucmlTBS5gSAaUVux14pRn/SC556CRx8wCobpejhnz939sL5
 RKI5lCD2V6cmlYqe6MZc6Q42vz4Qv9HALnESbrbLBxKGWuQHlfnt9N3dDUAidffkezLHYCPb+
 nVosdMUfcNKrXWDxfx4tuVrDRRyVPesKUf9wwzEICuStOU+kvh84gsvbuATOL0aL1qlvJaNWo
 IW1rCKaAY6h4iw0rOADJes5anAOmjnZjEs2Lhk8doCZSHzvCnnpwk8wWs+yrXeBOf4HlmgWFU
 0TGzvtkmzD9hmaD47So8Xoh3KPz+py28ZMqSAcOhcX/0opJDNcenixgO8O8UVNkVjpP6F4fut
 UNeKwH27Y8H1IXza6ol2PRmxD+fEBMlY8azWq/UghQuYRzLxrY2kKYEUBshlphyjYhRpJEXJh
 bCAiLEF25KQ9PnVJ1pXXpyGtX94CYLcZpaqv9XFN/ns8rwd3BdevJnxLNJeR3P9JU7SZyCWjl
 gJNdd+shk7t7cf2bU10RTdcbND79HIv7nWRQXn7kNFN4YrubyQWVqWerwdWXYY6HFOuSSlFc/
 7RsVpLgNows4jip3iGV3CVKadTbA8+5zRq0tpI6iqcgjXgog2yV4JwXl6PRNLo7LEModHXguU
 H1Uz+JaFbZ3It0gRiLsxnkAS9RUdCtvxsEv4HE2oR4aV/y1vQwYadZB/45p95i7/cR51asv3w
 wyPz1g6ssr46hEOA19v+nsZ4Ey9Iak69HZ4HR4sCW3t2Ogw/RnghC2hHNMdRz9JBE5PnvFSGs
 xDTqlHZvqpGgrZtzgS4u/tCOcuyfIJ1wDNB32eALbH6PcQ9Gd87unQc4n26hbEJE7RFQ8CG2u
 psTk98LvuK/cGhROX10gPYeEtPoWR96deUE2QVX5MCqtZCptFJBNKsYM37Lc=
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

 > I don't know why 'switch-to-buffer' changes the order of
 > window-prev-buffers used in the tab-line.  We have to ask Martin
 > is it possible to keep the original order in window-prev-buffers list.

No.  The aim of 'window-prev-buffers' (and 'window-next-buffers') is
to make navigation between the buffers shown in that window reliable.
So 'window-prev-buffers' is kept in a "most recently shown in that
window first" order.

Browser tabs are usually ordered by their creation time which has no
relationship to what has been actually shown.  You can create a new
browser tab and then remove it without ever visiting the corresponding
link.  OTOH a buffer listed in 'window-prev-buffers' has been shown in
that window at least once.  After C-x 2 the new window has just one
element in that list, the buffer it shows.

The (here defunct) tab mix plus had a number of ways to affect the
(dynamic re-)sorting of tabs including the positioning of a new tab
wrt the currently active one.  Maybe we should try to simulate some of
their more popular ones here.

martin




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 20 Nov 2019 22:47:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 20 17:47:55 2019
Received: from localhost ([127.0.0.1]:51039 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iXYlP-000628-5e
	for submit <at> debbugs.gnu.org; Wed, 20 Nov 2019 17:47:55 -0500
Received: from beige.elm.relay.mailchannels.net ([23.83.212.16]:51762)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iXYlJ-00061l-MZ
 for 37667 <at> debbugs.gnu.org; Wed, 20 Nov 2019 17:47:50 -0500
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 7020D141DC7;
 Wed, 20 Nov 2019 22:47:48 +0000 (UTC)
Received: from pdx1-sub0-mail-a44.g.dreamhost.com
 (100-96-89-221.trex.outbound.svc.cluster.local [100.96.89.221])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 0C372141CFC;
 Wed, 20 Nov 2019 22:47:48 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a44.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Wed, 20 Nov 2019 22:47:48 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Squirrel-Average: 15d60f7e036d50a8_1574290068274_762318957
X-MC-Loop-Signature: 1574290068274:2750969517
X-MC-Ingress-Time: 1574290068273
Received: from pdx1-sub0-mail-a44.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a44.g.dreamhost.com (Postfix) with ESMTP id 2A929832D7;
 Wed, 20 Nov 2019 14:47:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=QEWuIFPkBcAec9xoBDUL61CDswM=; b=
 xn/mOtH/+gdy6Jc/ZI30dQr7ywuAj/1Z+LeX4w1Y+pPhEg3QUc0Q3MAn3zTsNCRG
 AtumTxPwcWQrUyNgkguI5S5yY4jIz+rxKT14ER8wsF+G1lkNXoE9OwKuFiboyb4T
 VFx/nrnovGyr9LbtvzLnJlmwnxMjMczUp5j1/nD+OZ4=
Received: from mail.jurta.org (m91-129-102-1.cust.tele2.ee [91.129.102.1])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a44.g.dreamhost.com (Postfix) with ESMTPSA id AEDCA832D5;
 Wed, 20 Nov 2019 14:47:45 -0800 (PST)
X-DH-BACKEND: pdx1-sub0-mail-a44
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <871ru6xjof.fsf@HIDDEN>
 <83y2wd2m5a.fsf@HIDDEN> <8736eksv91.fsf@HIDDEN>
 <83sgmj24ij.fsf@HIDDEN> <87a78rqxfv.fsf@HIDDEN>
 <835zjf1a8k.fsf@HIDDEN>
Date: Thu, 21 Nov 2019 00:40:09 +0200
In-Reply-To: <835zjf1a8k.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 20 Nov
 2019 05:45:47 +0200")
Message-ID: <87k17unpdi.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> After switching to another buffer it changes the order of tabs
>> because it uses the same order by recency as buffer-list.
>
> So this is a feature?  It's quite unexpected, I'd say, because
> browsers don't behave like that.

I don't know why 'switch-to-buffer' changes the order of
window-prev-buffers used in the tab-line.  We have to ask Martin
is it possible to keep the original order in window-prev-buffers list.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 20 Nov 2019 03:45:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 22:45:47 2019
Received: from localhost ([127.0.0.1]:48824 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iXGw6-0003Ah-LX
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2019 22:45:46 -0500
Received: from eggs.gnu.org ([209.51.188.92]:42140)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iXGw5-0003AU-8y
 for 37667 <at> debbugs.gnu.org; Tue, 19 Nov 2019 22:45:45 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:32937)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iXGvz-000670-VY; Tue, 19 Nov 2019 22:45:40 -0500
Received: from [176.228.60.248] (port=4023 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iXGvz-0002jf-Bb; Tue, 19 Nov 2019 22:45:39 -0500
Date: Wed, 20 Nov 2019 05:45:47 +0200
Message-Id: <835zjf1a8k.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87a78rqxfv.fsf@HIDDEN> (message from Juri Linkov on
 Wed, 20 Nov 2019 00:25:24 +0200)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <871ru6xjof.fsf@HIDDEN>
 <83y2wd2m5a.fsf@HIDDEN> <8736eksv91.fsf@HIDDEN>
 <83sgmj24ij.fsf@HIDDEN> <87a78rqxfv.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Wed, 20 Nov 2019 00:25:24 +0200
> 
> >> Now I added a new option for auto-scroll that is enabled by default.
> >
> > Thanks.  It works somewhat strangely, though.  First, it doesn't
> > scroll even if the current tab is only partially visible.  And second,
> > if I switch to a buffer whose tab is hscrolled out of view, that tab
> > is moved to the right end of the tab line, whereas I expected the tab
> > line to hscroll back such that the tab would become visible without
> > changing its relative order.
> >
> > Is that intended?  Basically, I expected that line to behave like we
> > hscroll text lines.
> 
> Do you customize tab-line-tabs-function to tab-line-tabs-buffer-groups?

No, this is in "emacs -Q".

> After switching to another buffer it changes the order of tabs
> because it uses the same order by recency as buffer-list.

So this is a feature?  It's quite unexpected, I'd say, because
browsers don't behave like that.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 19 Nov 2019 23:20:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 18:20:20 2019
Received: from localhost ([127.0.0.1]:48695 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iXCnE-0004Pv-Ce
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2019 18:20:20 -0500
Received: from crocodile.birch.relay.mailchannels.net ([23.83.209.45]:59323)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iXCnC-0004Pn-IY
 for 37667 <at> debbugs.gnu.org; Tue, 19 Nov 2019 18:20:19 -0500
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 79E216A167B;
 Tue, 19 Nov 2019 23:20:17 +0000 (UTC)
Received: from pdx1-sub0-mail-a94.g.dreamhost.com
 (100-96-92-164.trex.outbound.svc.cluster.local [100.96.92.164])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 0A25D6A15E7;
 Tue, 19 Nov 2019 23:20:17 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a94.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Tue, 19 Nov 2019 23:20:17 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Zesty-Absorbed: 6b471e9c20e273a9_1574205617263_3549710523
X-MC-Loop-Signature: 1574205617263:1209338091
X-MC-Ingress-Time: 1574205617263
Received: from pdx1-sub0-mail-a94.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a94.g.dreamhost.com (Postfix) with ESMTP id 2C8A27FC55;
 Tue, 19 Nov 2019 15:20:12 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=Kay0TleJmZTPIDNd0TtHKHq1+Ro=; b=
 ZqhQDwYRdV50vj5ZP7QBdapYbv7pwl89Y56Vr0QSMbwpXNE08ijwnVR72Y9/JbF/
 znRbTJMogt5mvp1gaZYinz6k9MKscoxNrnlxQmo1qs4VbWQfL3ZsaYG0Z5YAe0x9
 ZtH3/v61gVByUHWgKDwR4846Yw5XORXcfnY4NzMGDlg=
Received: from mail.jurta.org (m91-129-102-1.cust.tele2.ee [91.129.102.1])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a94.g.dreamhost.com (Postfix) with ESMTPSA id AC05C7FC11;
 Tue, 19 Nov 2019 15:20:10 -0800 (PST)
X-DH-BACKEND: pdx1-sub0-mail-a94
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <871ru6xjof.fsf@HIDDEN>
 <83y2wd2m5a.fsf@HIDDEN> <8736eksv91.fsf@HIDDEN>
 <83sgmj24ij.fsf@HIDDEN>
Date: Wed, 20 Nov 2019 00:25:24 +0200
In-Reply-To: <83sgmj24ij.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 19 Nov
 2019 18:51:48 +0200")
Message-ID: <87a78rqxfv.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> Now I added a new option for auto-scroll that is enabled by default.
>
> Thanks.  It works somewhat strangely, though.  First, it doesn't
> scroll even if the current tab is only partially visible.  And second,
> if I switch to a buffer whose tab is hscrolled out of view, that tab
> is moved to the right end of the tab line, whereas I expected the tab
> line to hscroll back such that the tab would become visible without
> changing its relative order.
>
> Is that intended?  Basically, I expected that line to behave like we
> hscroll text lines.

Do you customize tab-line-tabs-function to tab-line-tabs-buffer-groups?
After switching to another buffer it changes the order of tabs
because it uses the same order by recency as buffer-list.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 19 Nov 2019 16:51:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 19 11:51:51 2019
Received: from localhost ([127.0.0.1]:48389 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iX6jH-0002q0-G4
	for submit <at> debbugs.gnu.org; Tue, 19 Nov 2019 11:51:51 -0500
Received: from eggs.gnu.org ([209.51.188.92]:35150)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iX6jF-0002pn-FN
 for 37667 <at> debbugs.gnu.org; Tue, 19 Nov 2019 11:51:49 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:51304)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iX6j9-000861-W5; Tue, 19 Nov 2019 11:51:44 -0500
Received: from [176.228.60.248] (port=3463 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iX6j9-00057G-H1; Tue, 19 Nov 2019 11:51:43 -0500
Date: Tue, 19 Nov 2019 18:51:48 +0200
Message-Id: <83sgmj24ij.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <8736eksv91.fsf@HIDDEN> (message from Juri Linkov on
 Mon, 18 Nov 2019 23:57:30 +0200)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <83o8yjke0u.fsf@HIDDEN>
 <87lftnqbmg.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <871ru6xjof.fsf@HIDDEN>
 <83y2wd2m5a.fsf@HIDDEN> <8736eksv91.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Mon, 18 Nov 2019 23:57:30 +0200
> 
> >> Auto-scrolling is implemented now and pushed to master.
> >
> > Is it turned off by default?  If so, how does one turn it on?
> 
> Now I added a new option for auto-scroll that is enabled by default.

Thanks.  It works somewhat strangely, though.  First, it doesn't
scroll even if the current tab is only partially visible.  And second,
if I switch to a buffer whose tab is hscrolled out of view, that tab
is moved to the right end of the tab line, whereas I expected the tab
line to hscroll back such that the tab would become visible without
changing its relative order.

Is that intended?  Basically, I expected that line to behave like we
hscroll text lines.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 18 Nov 2019 21:58:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 18 16:58:55 2019
Received: from localhost ([127.0.0.1]:46393 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iWp2t-0005SH-Lw
	for submit <at> debbugs.gnu.org; Mon, 18 Nov 2019 16:58:55 -0500
Received: from anteater.elm.relay.mailchannels.net ([23.83.212.3]:58742)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iWp2r-0005S8-HH
 for 37667 <at> debbugs.gnu.org; Mon, 18 Nov 2019 16:58:54 -0500
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 498D23C0F01;
 Mon, 18 Nov 2019 21:58:52 +0000 (UTC)
Received: from pdx1-sub0-mail-a6.g.dreamhost.com
 (100-96-4-107.trex.outbound.svc.cluster.local [100.96.4.107])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id C71283C0F50;
 Mon, 18 Nov 2019 21:58:51 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a6.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Mon, 18 Nov 2019 21:58:52 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Trail-Illegal: 06082c485b28aac1_1574114332047_2318518862
X-MC-Loop-Signature: 1574114332047:203519429
X-MC-Ingress-Time: 1574114332046
Received: from pdx1-sub0-mail-a6.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a6.g.dreamhost.com (Postfix) with ESMTP id 0BC04A7017;
 Mon, 18 Nov 2019 13:58:47 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=nbuDCYv7so4fxKwSN9VwkEjGBbM=; b=
 0BV10e1f+K5ZW2WreVhgFhhnChB68gxc+j6qNqqUyotHLpHq/kyx+F9TPwlfgz5V
 A9qiPTdsdNlA2WmXh9z5uCLuPsWJE7fxmiBHrrfKpmsNYMu4mEfkseTAVswwmVnf
 1bYctMhXaw8jfyIuP3+ZswAVfEGd5nxt+mrmJ85KnhE=
Received: from mail.jurta.org (m91-129-102-1.cust.tele2.ee [91.129.102.1])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a6.g.dreamhost.com (Postfix) with ESMTPSA id 75890A7004;
 Mon, 18 Nov 2019 13:58:44 -0800 (PST)
X-DH-BACKEND: pdx1-sub0-mail-a6
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <83o8yjke0u.fsf@HIDDEN>
 <87lftnqbmg.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <871ru6xjof.fsf@HIDDEN>
 <83y2wd2m5a.fsf@HIDDEN>
Date: Mon, 18 Nov 2019 23:57:30 +0200
In-Reply-To: <83y2wd2m5a.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 18 Nov
 2019 18:18:41 +0200")
Message-ID: <8736eksv91.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> Auto-scrolling is implemented now and pushed to master.
>
> Is it turned off by default?  If so, how does one turn it on?

Now I added a new option for auto-scroll that is enabled by default.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 18 Nov 2019 16:18:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 18 11:18:47 2019
Received: from localhost ([127.0.0.1]:46124 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iWjjj-0004Tm-Gz
	for submit <at> debbugs.gnu.org; Mon, 18 Nov 2019 11:18:47 -0500
Received: from eggs.gnu.org ([209.51.188.92]:37142)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iWjjh-0004TX-J6
 for 37667 <at> debbugs.gnu.org; Mon, 18 Nov 2019 11:18:46 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:56968)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iWjjc-0006Ug-6S; Mon, 18 Nov 2019 11:18:40 -0500
Received: from [176.228.60.248] (port=4708 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iWjja-0003Mu-3G; Mon, 18 Nov 2019 11:18:38 -0500
Date: Mon, 18 Nov 2019 18:18:41 +0200
Message-Id: <83y2wd2m5a.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <871ru6xjof.fsf@HIDDEN> (message from Juri Linkov on
 Sun, 17 Nov 2019 23:44:00 +0200)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <83eezjrbuj.fsf@HIDDEN>
 <87sgnw2pz3.fsf@HIDDEN> <83o8yjke0u.fsf@HIDDEN>
 <87lftnqbmg.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <871ru6xjof.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Sun, 17 Nov 2019 23:44:00 +0200
> 
> >> The main problem in implementing auto-scrolling is how to detect the
> >> situation when the current tab is not visible.  Maybe by implementing
> >> a function like pos-visible-in-window-p, but named tab-visible-in-tab-line?
> >
> > That'd be fine with me.  Let me know if you need help in making that
> > happen, either by talking or by coding.
> 
> Auto-scrolling is implemented now and pushed to master.

Is it turned off by default?  If so, how does one turn it on?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 17 Nov 2019 21:44:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Nov 17 16:44:33 2019
Received: from localhost ([127.0.0.1]:42834 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iWSLQ-0002iX-R3
	for submit <at> debbugs.gnu.org; Sun, 17 Nov 2019 16:44:33 -0500
Received: from black.elm.relay.mailchannels.net ([23.83.212.19]:49930)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iWSLO-0002iO-Vy
 for 37667 <at> debbugs.gnu.org; Sun, 17 Nov 2019 16:44:31 -0500
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id CF28D3C0B1F;
 Sun, 17 Nov 2019 21:44:29 +0000 (UTC)
Received: from pdx1-sub0-mail-a64.g.dreamhost.com
 (100-96-6-199.trex.outbound.svc.cluster.local [100.96.6.199])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 431123C09F6;
 Sun, 17 Nov 2019 21:44:29 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a64.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Sun, 17 Nov 2019 21:44:29 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Tart-Trouble: 1bba9049112d52a4_1574027069547_4221596573
X-MC-Loop-Signature: 1574027069547:3564314259
X-MC-Ingress-Time: 1574027069547
Received: from pdx1-sub0-mail-a64.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a64.g.dreamhost.com (Postfix) with ESMTP id 632137FDD8;
 Sun, 17 Nov 2019 13:44:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=tdPGP+LzYLbVXwWESGRDG4Vr75I=; b=
 Fz+FIxieGtTU43YAMNxFeb3gg8fmPLjnS+VkfvsFCVxgnjEJxy3LoLJBmi+Dg6jo
 pyt9eGKnSVvhS3TYD0De7INaylrbPi5fSUZX0Sm4kkFs+ONvgo8LJ12DqurJ8dZZ
 wSpZWdNhtaua4bHU31xZZSfFaTeOSQVlhFhjtnj9Pi8=
Received: from mail.jurta.org (m91-129-102-1.cust.tele2.ee [91.129.102.1])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a64.g.dreamhost.com (Postfix) with ESMTPSA id 4C6177FDDB;
 Sun, 17 Nov 2019 13:44:19 -0800 (PST)
X-DH-BACKEND: pdx1-sub0-mail-a64
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <83eezjrbuj.fsf@HIDDEN>
 <87sgnw2pz3.fsf@HIDDEN> <83o8yjke0u.fsf@HIDDEN>
 <87lftnqbmg.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN>
Date: Sun, 17 Nov 2019 23:44:00 +0200
In-Reply-To: <83ftjjzbln.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 23 Oct
 2019 19:10:44 +0300")
Message-ID: <871ru6xjof.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> The main problem in implementing auto-scrolling is how to detect the
>> situation when the current tab is not visible.  Maybe by implementing
>> a function like pos-visible-in-window-p, but named tab-visible-in-tab-line?
>
> That'd be fine with me.  Let me know if you need help in making that
> happen, either by talking or by coding.

Auto-scrolling is implemented now and pushed to master.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 2 Nov 2019 22:37:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 02 18:37:23 2019
Received: from localhost ([127.0.0.1]:33208 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iR21L-00020K-Az
	for submit <at> debbugs.gnu.org; Sat, 02 Nov 2019 18:37:23 -0400
Received: from bonobo.elm.relay.mailchannels.net ([23.83.212.22]:17412)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iR21I-00020B-LC
 for 37667 <at> debbugs.gnu.org; Sat, 02 Nov 2019 18:37:22 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 32F8E500CA9;
 Sat,  2 Nov 2019 22:37:19 +0000 (UTC)
Received: from pdx1-sub0-mail-a17.g.dreamhost.com
 (100-96-169-194.trex.outbound.svc.cluster.local [100.96.169.194])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id BE5215014D9;
 Sat,  2 Nov 2019 22:37:18 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a17.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Sat, 02 Nov 2019 22:37:19 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Cold-Suffer: 4ca0163862da5ef0_1572734239006_2436033208
X-MC-Loop-Signature: 1572734239006:731060311
X-MC-Ingress-Time: 1572734239005
Received: from pdx1-sub0-mail-a17.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a17.g.dreamhost.com (Postfix) with ESMTP id AB4F3836CE;
 Sat,  2 Nov 2019 15:37:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=/PUleFa9JI3LFRIuc0ciLvdBXpY=; b=
 oe66reqkluMaQDLSR41awhio7bv09GzILcMvCDR6vLxgsW/gUDHPMGvYY+wcVps3
 ENz3P0JiVAYrCrIURZOAIlm4gNczvo6iEUglPQyp+lKIUnF14fExyC2Nk1YQ2yHE
 vudTA/PMPjxAInFb90qT/yiX7FYY0aEEyMDD6/N2qWk=
Received: from mail.jurta.org (m91-129-101-77.cust.tele2.ee [91.129.101.77])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a17.g.dreamhost.com (Postfix) with ESMTPSA id 49611836C0;
 Sat,  2 Nov 2019 15:37:13 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a17
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
 <83sgnbpxq6.fsf@HIDDEN> <871ruvax4p.fsf@HIDDEN>
 <835zk6p6ki.fsf@HIDDEN> <87v9s53h6o.fsf@HIDDEN>
 <83imo5ng1d.fsf@HIDDEN> <87o8xwskw6.fsf@HIDDEN>
 <83o8xwm484.fsf@HIDDEN> <874kzm2j4y.fsf@HIDDEN>
 <83lfsyhyc3.fsf@HIDDEN>
Date: Sun, 03 Nov 2019 00:36:42 +0200
In-Reply-To: <83lfsyhyc3.fsf@HIDDEN> (Eli Zaretskii's message of "Sat, 02 Nov
 2019 21:28:44 +0200")
Message-ID: <875zk1ykg5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> >  . Display one arrow on the left and another on the right, and decide
>> >    whether or not to display the right one in display_mode_line,
>> >    depending on whether you hit (last_visible_x - arrow_width) while
>> >    producing glyphs.
>> 
>> Do you mean displaying the arrow on the right using fringe?
>
> No, I meant displaying them like you do now, just move the right arrow
> to the right of the last visible tab.

This requires a function to find the last visible tab.
Maybe it would be possible to reuse the same new function
that will detect if the current tab is visible.

>> > The first one sounds the easiest to me.
>> 
>> The first one is easy to implement, but it can't do auto-scrolling,
>> i.e. when the current tab becomes invisible, automattically reduce
>> the number of tabs in front of it to make it visible.
>
> Is that such a serious problem?  Browsers don't auto-scroll.

Chromium doesn't auto-scroll because it reduces every tab width
to fit all tabs to the tab bar, so there is no scrolling.
But Firefox auto-scrolls the tab bar to the current tab.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 2 Nov 2019 19:28:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 02 15:28:50 2019
Received: from localhost ([127.0.0.1]:33127 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iQz4r-00053f-L6
	for submit <at> debbugs.gnu.org; Sat, 02 Nov 2019 15:28:49 -0400
Received: from eggs.gnu.org ([209.51.188.92]:52333)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iQz4p-00053Q-Vv
 for 37667 <at> debbugs.gnu.org; Sat, 02 Nov 2019 15:28:48 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:59824)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iQz4k-0006yp-7W; Sat, 02 Nov 2019 15:28:42 -0400
Received: from [176.228.60.248] (port=2142 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iQz4j-0000Bo-2M; Sat, 02 Nov 2019 15:28:42 -0400
Date: Sat, 02 Nov 2019 21:28:44 +0200
Message-Id: <83lfsyhyc3.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <874kzm2j4y.fsf@HIDDEN> (message from Juri Linkov on
 Sat, 02 Nov 2019 21:06:05 +0200)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
 <83sgnbpxq6.fsf@HIDDEN> <871ruvax4p.fsf@HIDDEN>
 <835zk6p6ki.fsf@HIDDEN> <87v9s53h6o.fsf@HIDDEN>
 <83imo5ng1d.fsf@HIDDEN> <87o8xwskw6.fsf@HIDDEN>
 <83o8xwm484.fsf@HIDDEN> <874kzm2j4y.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Sat, 02 Nov 2019 21:06:05 +0200
> 
> >  . Always display both of them, but make one or both of them do
> >    nothing when scrolling in that direction makes no sense.
> 
> Or maybe to disable (visually using a grey shadow) the button
> that can't do scrolling?

Yes, possible.

> >  . Display one arrow on the left and another on the right, and decide
> >    whether or not to display the right one in display_mode_line,
> >    depending on whether you hit (last_visible_x - arrow_width) while
> >    producing glyphs.
> 
> Do you mean displaying the arrow on the right using fringe?

No, I meant displaying them like you do now, just move the right arrow
to the right of the last visible tab.

> > The first one sounds the easiest to me.
> 
> The first one is easy to implement, but it can't do auto-scrolling,
> i.e. when the current tab becomes invisible, automattically reduce
> the number of tabs in front of it to make it visible.

Is that such a serious problem?  Browsers don't auto-scroll.

> > If you want to implement the last one, then you need a function
> > that calls display_mode_line and returns a truncation indication
> > depending on the state of it.glyph_row->truncated_on_right_p.  The
> > simplest way to achieve that is to add a new argument to
> > display_mode_line, which, when non-NULL, will be a pointer to the flag
> > where to return to the caller the truncation indication; then make
> > display_mode_line set that flag according to the truncated_on_right_p
> > flag.
> 
> Modifying display_mode_line is one way.  I thought maybe simpler
> would be to copy some relevant code from display_mode_line
> to a new function.

I think you end up copying almost all of it.  But if I'm wrong, sure,
that's possible.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 2 Nov 2019 19:07:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 02 15:07:59 2019
Received: from localhost ([127.0.0.1]:33114 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iQykh-0004TT-D7
	for submit <at> debbugs.gnu.org; Sat, 02 Nov 2019 15:07:59 -0400
Received: from dog.birch.relay.mailchannels.net ([23.83.209.48]:19558)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iQyke-0004TJ-4J
 for 37667 <at> debbugs.gnu.org; Sat, 02 Nov 2019 15:07:57 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id E00C25010EB;
 Sat,  2 Nov 2019 19:07:54 +0000 (UTC)
Received: from pdx1-sub0-mail-a64.g.dreamhost.com
 (100-96-14-250.trex.outbound.svc.cluster.local [100.96.14.250])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 17F135010B8;
 Sat,  2 Nov 2019 19:07:54 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a64.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Sat, 02 Nov 2019 19:07:54 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Print-Eight: 52f3eb9036dfe3e1_1572721674336_3289953729
X-MC-Loop-Signature: 1572721674336:1765283495
X-MC-Ingress-Time: 1572721674336
Received: from pdx1-sub0-mail-a64.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a64.g.dreamhost.com (Postfix) with ESMTP id 8DF7A84763;
 Sat,  2 Nov 2019 12:07:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=PKwMYPliAoeI6FY5oWRItsnK2r8=; b=
 1MKuMXlKJth7W9I44NncPqcThNgodW6Ru6YquG7kddmx/3YlSGUOLmpSAladUWwa
 PGS0LTlsGAAc5rhd0PZL1mRJbg//Vpnu+ygoeusVQnohy7IYX6ZRhm3uALULY4QL
 6uExvhj5A4b8ryKDuB6UkgLRVVRKtyS2qUx5b1dF4jM=
Received: from mail.jurta.org (m91-129-101-77.cust.tele2.ee [91.129.101.77])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a64.g.dreamhost.com (Postfix) with ESMTPSA id 4073384760;
 Sat,  2 Nov 2019 12:07:47 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a64
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
 <83sgnbpxq6.fsf@HIDDEN> <871ruvax4p.fsf@HIDDEN>
 <835zk6p6ki.fsf@HIDDEN> <87v9s53h6o.fsf@HIDDEN>
 <83imo5ng1d.fsf@HIDDEN> <87o8xwskw6.fsf@HIDDEN>
 <83o8xwm484.fsf@HIDDEN>
Date: Sat, 02 Nov 2019 21:06:05 +0200
In-Reply-To: <83o8xwm484.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 01 Nov
 2019 09:43:23 +0200")
Message-ID: <874kzm2j4y.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> C code is only need to calculate the number of tabs to cut on the left
>> side from the current tab to make it visible.
>
> AFAIU, there are several alternatives of how to go about the arrow
> buttons that hscroll the tab-line:
>
>  . Always display both of them, but make one or both of them do
>    nothing when scrolling in that direction makes no sense.

Or maybe to disable (visually using a grey shadow) the button
that can't do scrolling?

>  . Display one arrow on the left and another on the right, and decide
>    whether or not to display the right one in display_mode_line,
>    depending on whether you hit (last_visible_x - arrow_width) while
>    producing glyphs.

Do you mean displaying the arrow on the right using fringe?
Currently in buffers clicking on the fridge truncation indicator
arrow image signals

  <right-fringe> <mouse-1> is undefined

And on tty, fridges are not available at all.

>  . Add a new function, exposed to Lisp, to provide indication for
>    whether the right arrow will be needed, then use a proper
>    tab-line-format to actually display the arrow.
>
> It sounds like you decided to use the last alternative, but did you
> consider the other two?

Yes, I'd like to implement the last alternative.

> The first one sounds the easiest to me.

The first one is easy to implement, but it can't do auto-scrolling,
i.e. when the current tab becomes invisible, automattically reduce
the number of tabs in front of it to make it visible.

> the last one has a disadvantage that it does the tab-line processing
> twice, once to determine whether the right arrow is needed, and then
> again to actually display the tab-line.

Twice processing is not a problem: I see that pos_visible_p does
processing twice as well - it calls display_mode_line
before calculating whether a position is visible.

> If you want to implement the last one, then you need a function
> that calls display_mode_line and returns a truncation indication
> depending on the state of it.glyph_row->truncated_on_right_p.  The
> simplest way to achieve that is to add a new argument to
> display_mode_line, which, when non-NULL, will be a pointer to the flag
> where to return to the caller the truncation indication; then make
> display_mode_line set that flag according to the truncated_on_right_p
> flag.

Modifying display_mode_line is one way.  I thought maybe simpler
would be to copy some relevant code from display_mode_line
to a new function.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 1 Nov 2019 07:43:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 01 03:43:30 2019
Received: from localhost ([127.0.0.1]:54974 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iQRak-0004RF-6s
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2019 03:43:30 -0400
Received: from eggs.gnu.org ([209.51.188.92]:36086)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iQRai-0004Qz-Mk
 for 37667 <at> debbugs.gnu.org; Fri, 01 Nov 2019 03:43:29 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:41085)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iQRac-0006SM-01; Fri, 01 Nov 2019 03:43:22 -0400
Received: from [176.228.60.248] (port=1699 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iQRab-0007C4-E2; Fri, 01 Nov 2019 03:43:21 -0400
Date: Fri, 01 Nov 2019 09:43:23 +0200
Message-Id: <83o8xwm484.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87o8xwskw6.fsf@HIDDEN> (message from Juri Linkov on
 Thu, 31 Oct 2019 22:46:49 +0200)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
 <83sgnbpxq6.fsf@HIDDEN> <871ruvax4p.fsf@HIDDEN>
 <835zk6p6ki.fsf@HIDDEN> <87v9s53h6o.fsf@HIDDEN>
 <83imo5ng1d.fsf@HIDDEN> <87o8xwskw6.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Thu, 31 Oct 2019 22:46:49 +0200
> 
> Detection of truncation is necessary as a separate function to decide
> whether to display arrow buttons in the tab-line.  When the tab-line
> is not truncated and displayed in its entirety, then there is no need
> to display arrow buttons for hscrolling.
> 
> >> We need to detect whether the current tab is before the right truncation point
> >> (so it is visible), or after the truncation (so the current tab is not visible).
> >
> > You already keep the number of tabs you've hscrolled off the display,
> > right?
> 
> Yes, the number of hscrolled tabs is kept in the window parameter.
> 
> > So if you also keep the number of the current tab, the above
> > decisions become trivial, no?  Or what am I missing?
> 
> To get the ordinal number of the current tab is trivial indeed, but when
> due to the large number of tabs preceding the current tab on the left side
> from it, it gets pushed off-screen behind the right window edge, we need
> to set the window parameter for the number of hscrolled tabs to such
> number of tabs that will reduce the length of displayed tabs on
> the left side from the current tab, so it becomes visible again.
> 
> C code is only need to calculate the number of tabs to cut on the left
> side from the current tab to make it visible.

AFAIU, there are several alternatives of how to go about the arrow
buttons that hscroll the tab-line:

 . Always display both of them, but make one or both of them do
   nothing when scrolling in that direction makes no sense.

 . Display one arrow on the left and another on the right, and decide
   whether or not to display the right one in display_mode_line,
   depending on whether you hit (last_visible_x - arrow_width) while
   producing glyphs.

 . Add a new function, exposed to Lisp, to provide indication for
   whether the right arrow will be needed, then use a proper
   tab-line-format to actually display the arrow.

It sounds like you decided to use the last alternative, but did you
consider the other two?  The first one sounds the easiest to me.  the
last one has a disadvantage that it does the tab-line processing
twice, once to determine whether the right arrow is needed, and then
again to actually display the tab-line.  Also note that adding the
right arrow will leave less screen estate for the tabs, so you need to
account for this somehow in your decision whether that arrow is
needed, lest displaying the arrow will make yet another tab partially
visible.

If you want to implement the last one, then you need a function
that calls display_mode_line and returns a truncation indication
depending on the state of it.glyph_row->truncated_on_right_p.  The
simplest way to achieve that is to add a new argument to
display_mode_line, which, when non-NULL, will be a pointer to the flag
where to return to the caller the truncation indication; then make
display_mode_line set that flag according to the truncated_on_right_p
flag.

Let me know if the above makes sense, or if you have more questions.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 31 Oct 2019 20:48:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 31 16:48:08 2019
Received: from localhost ([127.0.0.1]:54377 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iQHMW-000253-4x
	for submit <at> debbugs.gnu.org; Thu, 31 Oct 2019 16:48:08 -0400
Received: from camel.birch.relay.mailchannels.net ([23.83.209.29]:26455)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iQHMU-00024u-7x
 for 37667 <at> debbugs.gnu.org; Thu, 31 Oct 2019 16:48:07 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id BBAAA8C209A;
 Thu, 31 Oct 2019 20:48:04 +0000 (UTC)
Received: from pdx1-sub0-mail-a11.g.dreamhost.com
 (100-96-8-64.trex.outbound.svc.cluster.local [100.96.8.64])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 24E5D8C1E17;
 Thu, 31 Oct 2019 20:48:04 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a11.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Thu, 31 Oct 2019 20:48:04 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Celery-Unite: 27edcaa168d4503d_1572554884398_1314677024
X-MC-Loop-Signature: 1572554884398:3413741697
X-MC-Ingress-Time: 1572554884397
Received: from pdx1-sub0-mail-a11.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a11.g.dreamhost.com (Postfix) with ESMTP id 47D0B9F874;
 Thu, 31 Oct 2019 13:47:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=Uqxshljr7rTMhgn+ojJ1XV/cyoA=; b=
 dke7U7IwTj/VsGmd5gAQ5Yz8uVIwwXSdaGf2UcnN/xORWHiwys3DoTVFjU4zu0AQ
 xhx1BxQk4cUdVQfnkJ+9io7D3Dfl8K7s7QHqgCV8pbikbSLmsUGktFx6Fr83IP50
 LKtMECe4TqA67sFx07dNFrrfJgoaObUmxnSabdoJPTw=
Received: from mail.jurta.org (m91-129-101-77.cust.tele2.ee [91.129.101.77])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a11.g.dreamhost.com (Postfix) with ESMTPSA id C82649F876;
 Thu, 31 Oct 2019 13:47:56 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a11
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
 <83sgnbpxq6.fsf@HIDDEN> <871ruvax4p.fsf@HIDDEN>
 <835zk6p6ki.fsf@HIDDEN> <87v9s53h6o.fsf@HIDDEN>
 <83imo5ng1d.fsf@HIDDEN>
Date: Thu, 31 Oct 2019 22:46:49 +0200
In-Reply-To: <83imo5ng1d.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 31 Oct
 2019 16:30:38 +0200")
Message-ID: <87o8xwskw6.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> Before starting to search the current tab, the code needs to known
>> whether truncation really occurred.
>
> Can you explain why?  Don't you keep the ordinal number of the current
> tab somewhere?  If not, can you keep it?  Given the number, finding
> the tab should be trivial, no?  (At least for some values of "find".)

Detection of truncation is necessary as a separate function to decide
whether to display arrow buttons in the tab-line.  When the tab-line
is not truncated and displayed in its entirety, then there is no need
to display arrow buttons for hscrolling.

>> We need to detect whether the current tab is before the right truncation point
>> (so it is visible), or after the truncation (so the current tab is not visible).
>
> You already keep the number of tabs you've hscrolled off the display,
> right?

Yes, the number of hscrolled tabs is kept in the window parameter.

> So if you also keep the number of the current tab, the above
> decisions become trivial, no?  Or what am I missing?

To get the ordinal number of the current tab is trivial indeed, but when
due to the large number of tabs preceding the current tab on the left side
from it, it gets pushed off-screen behind the right window edge, we need
to set the window parameter for the number of hscrolled tabs to such
number of tabs that will reduce the length of displayed tabs on
the left side from the current tab, so it becomes visible again.

C code is only need to calculate the number of tabs to cut on the left
side from the current tab to make it visible.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 31 Oct 2019 14:30:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 31 10:30:49 2019
Received: from localhost ([127.0.0.1]:53973 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iQBTM-0006Oc-Ay
	for submit <at> debbugs.gnu.org; Thu, 31 Oct 2019 10:30:48 -0400
Received: from eggs.gnu.org ([209.51.188.92]:38728)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iQBTI-0006FD-3i
 for 37667 <at> debbugs.gnu.org; Thu, 31 Oct 2019 10:30:44 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:54240)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iQBTC-0006IW-IA; Thu, 31 Oct 2019 10:30:38 -0400
Received: from [176.228.60.248] (port=2036 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iQBTB-0004UQ-PI; Thu, 31 Oct 2019 10:30:38 -0400
Date: Thu, 31 Oct 2019 16:30:38 +0200
Message-Id: <83imo5ng1d.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87v9s53h6o.fsf@HIDDEN> (message from Juri Linkov on
 Thu, 31 Oct 2019 02:03:51 +0200)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
 <83sgnbpxq6.fsf@HIDDEN> <871ruvax4p.fsf@HIDDEN>
 <835zk6p6ki.fsf@HIDDEN> <87v9s53h6o.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Thu, 31 Oct 2019 02:03:51 +0200
> 
> >> I don't want to modify display_string to take the tab-line
> >> into account because more logic for searching the current tab
> >> needs to be implemented anyway.
> >
> > Searching the current tab and displaying truncation indicators are two
> > separate tasks that don't necessarily need the same (or even similar)
> > code.  The former could be found much easier, I think.
> 
> Before starting to search the current tab, the code needs to known
> whether truncation really occurred.

Can you explain why?  Don't you keep the ordinal number of the current
tab somewhere?  If not, can you keep it?  Given the number, finding
the tab should be trivial, no?  (At least for some values of "find".)

> We need to detect whether the current tab is before the right truncation point
> (so it is visible), or after the truncation (so the current tab is not visible).

You already keep the number of tabs you've hscrolled off the display,
right?  So if you also keep the number of the current tab, the above
decisions become trivial, no?  Or what am I missing?

> It seems searching for the current tab is not possible in the glyph matrix,
> because when the current tab is after the truncation point, then its
> glyphs are not produced.

If we arrive at the conclusion that using the tab numbers, as I
suggest above, is unworkable, then it would make sense to search it by
walking the glyphs.  I don't think it will be hard, let alone
impossible, but let's first see why not do this in Lisp.

And btw, why do you need to "find the current tab"? for what feature?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 31 Oct 2019 14:25:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 31 10:25:30 2019
Received: from localhost ([127.0.0.1]:53958 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iQBOE-0005WV-BZ
	for submit <at> debbugs.gnu.org; Thu, 31 Oct 2019 10:25:30 -0400
Received: from eggs.gnu.org ([209.51.188.92]:37974)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iQBOC-0005WF-4m
 for 37667 <at> debbugs.gnu.org; Thu, 31 Oct 2019 10:25:28 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:54096)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iQBO6-0001FZ-7U; Thu, 31 Oct 2019 10:25:22 -0400
Received: from [176.228.60.248] (port=1716 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iQBO5-00045i-Dc; Thu, 31 Oct 2019 10:25:21 -0400
Date: Thu, 31 Oct 2019 16:25:21 +0200
Message-Id: <83k18lnga6.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87tv7p4wet.fsf@HIDDEN> (message from Juri Linkov on
 Thu, 31 Oct 2019 01:59:38 +0200)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
 <83sgnbpxq6.fsf@HIDDEN> <871ruvax4p.fsf@HIDDEN>
 <835zk6p6ki.fsf@HIDDEN> <87tv7p4wet.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Thu, 31 Oct 2019 01:59:38 +0200
> 
> >> I tried to not reset these flags only for the tab-line, and indeed
> >> when the tab-line is truncated, then truncated_on_right_p is true
> >> most of the time, but not always.  It's false when the tab-line
> >> is truncated between tabs.
> >> 
> >> AFAIU by looking at 'display_string', it looks like this has something
> >> to do with whitespace between tabs as this comment explains:
> >> 
> >> 	  /* Add truncation mark, but don't do it if the line is
> >> 	     truncated at a padding space.  */
> >
> > I don't think this is the reason, because AFAICT tab-line-format
> > doesn't include constructs that would pad its elements with spaces.
> >
> > Can you cook up a simple recipe where the truncation bitmaps don't
> > appear, and also show the patch you used not to reset those flags?
> > I'd like to look into what happens in the code in that case.
> 
> Please try with this patch to resize the frame right edge until the edge
> is between tabs, then it outputs "truncated_on_right_p=0" whereas
> when the truncating frame edge is not between tabs then it outputs
> "truncated_on_right_p=1"

We've been miscommunicating.  Sorry, it's my fault: I didn't look
closely enough at the code you wrote in tab-line.el, and built me a
mental model that is completely wrong.

> +      w->tab_line_height
> +	= display_mode_line (w, TAB_LINE_FACE_ID,
> +			     NILP (window_tab_line_format)
> +			     ? BVAR (current_buffer, tab_line_format)
> +			     : window_tab_line_format);
> +
> +      init_iterator (&it, w, -1, -1, NULL, TAB_LINE_FACE_ID);
> +
> +      fprintf (stderr, "tab_line_p=%d truncated_on_right_p=%d last_visible_x=%d\n",
> +               it.glyph_row->tab_line_p, it.glyph_row->truncated_on_right_p, it.last_visible_x);

Calling init_iterator _after_ performing display has no useful effect
on anything.  And since the 'struct it' you pass to it is unrelated to
what display_mode_line used, the value you print has no relation to
what happens inside display_mode_line, nor with the actual flags of
the glyph row produced by display_mode_line for displaying the
tab-line.  I verified in the debugger that when the tab-line is longer
than the window width, the truncated_on_right_p flag of the tab-line's
glyph row is always set, no matter how I resize the frame.

(Given what I write below, this is not really important; I just wanted
to point out your mistakes for the future.)

> @@ -24984,7 +25018,10 @@ display_mode_line (struct window *w, enum face_id face_id, Lisp_Object format)
>    it.glyph_row->full_width_p = true;
>    it.glyph_row->continued_p = false;
>    it.glyph_row->truncated_on_left_p = false;
> -  it.glyph_row->truncated_on_right_p = false;
> +
> +  /* Currently only tab-line needs truncation detection.  */
> +  if (face_id != TAB_LINE_FACE_ID)
> +    it.glyph_row->truncated_on_right_p = false;

Here's the thing: I thought that you wanted the truncation indications
to be displayed on the fringes, like we do with text-area lines.  This
is why I started talking about truncated_on_right_p flag: this flag is
used by fringe.c to decide where to display the truncation bitmaps.

But tab-line.el handles the hscrolling and truncation of tab-lines
entirely in Lisp, and displays the hscrolling arrows by itself.  So
you don't need the truncated_on_right_p flag at all, and might as well
revert the above change -- it has no effect for tab-line display the
way that you implemented it.

I now understand that you thought you needed this flag for finding the
current tab, and only for that.  I'm not yet sure that is true, see my
other message.  If it turns out I'm wrong, we can then return to this
issue and discuss whether and how you need to cause this flag to be
set.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 31 Oct 2019 00:16:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 30 20:16:28 2019
Received: from localhost ([127.0.0.1]:51940 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iPy8a-0007xh-3N
	for submit <at> debbugs.gnu.org; Wed, 30 Oct 2019 20:16:28 -0400
Received: from aye.elm.relay.mailchannels.net ([23.83.212.6]:45040)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iPy8J-0007xH-PK
 for 37667 <at> debbugs.gnu.org; Wed, 30 Oct 2019 20:16:13 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id C6B3D1A1E0C;
 Thu, 31 Oct 2019 00:16:10 +0000 (UTC)
Received: from pdx1-sub0-mail-a82.g.dreamhost.com
 (100-96-15-217.trex.outbound.svc.cluster.local [100.96.15.217])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 184101A1DE7;
 Thu, 31 Oct 2019 00:16:10 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a82.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Thu, 31 Oct 2019 00:16:10 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Reaction-Thread: 5bc0f5622ec5ba44_1572480970313_3008204913
X-MC-Loop-Signature: 1572480970313:681676675
X-MC-Ingress-Time: 1572480970313
Received: from pdx1-sub0-mail-a82.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a82.g.dreamhost.com (Postfix) with ESMTP id A297680153;
 Wed, 30 Oct 2019 17:16:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=Gc7/Mbp7faYUXtmrAPNiN6EpmC8=; b=
 a6M1Q6BmdjYqUWX6Kln+ZO4c9HfAyKEhYhQP0cVSmeBo1DzMAg0xb5TgaLOAizIs
 ki5WgchYiIodCjNKx0rtnUmdnkguoT7FfpZVAKVExVBLTzlT+GW2L+T4f5L/00n1
 nZ/EPv4InhGRgEhLsTC4y+KZVF0DlLisT1V6JaifqcA=
Received: from mail.jurta.org (m91-129-101-77.cust.tele2.ee [91.129.101.77])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a82.g.dreamhost.com (Postfix) with ESMTPSA id 508FF8015D;
 Wed, 30 Oct 2019 17:16:02 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a82
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
 <83sgnbpxq6.fsf@HIDDEN> <871ruvax4p.fsf@HIDDEN>
 <835zk6p6ki.fsf@HIDDEN>
Date: Thu, 31 Oct 2019 02:03:51 +0200
In-Reply-To: <835zk6p6ki.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 30 Oct
 2019 17:59:57 +0200")
Message-ID: <87v9s53h6o.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> I don't want to modify display_string to take the tab-line
>> into account because more logic for searching the current tab
>> needs to be implemented anyway.
>
> Searching the current tab and displaying truncation indicators are two
> separate tasks that don't necessarily need the same (or even similar)
> code.  The former could be found much easier, I think.

Before starting to search the current tab, the code needs to known
whether truncation really occurred.

>> So maybe better to copy code from display_string to a new function
>> tab_visible_in_tab_line, and beside detection of truncation also add
>> more code to detect a situation when the current tab is not visible
>> due to truncation.
>
> I don't think these two jobs are similar enough, but maybe I don't
> understand well enough what you have in mind.  Can you elaborate how
> you intended to search for the current tab?

We need to detect whether the current tab is before the right truncation point
(so it is visible), or after the truncation (so the current tab is not visible).

It seems searching for the current tab is not possible in the glyph matrix,
because when the current tab is after the truncation point, then its
glyphs are not produced.

Then the code for searching the current tab should be similar to
display_string but without producing glyphs.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 31 Oct 2019 00:16:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 30 20:16:08 2019
Received: from localhost ([127.0.0.1]:51937 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iPy8F-0007x6-JN
	for submit <at> debbugs.gnu.org; Wed, 30 Oct 2019 20:16:07 -0400
Received: from crocodile.birch.relay.mailchannels.net ([23.83.209.45]:45718)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iPy8D-0007wx-F0
 for 37667 <at> debbugs.gnu.org; Wed, 30 Oct 2019 20:16:06 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 3C6A2340D9F;
 Thu, 31 Oct 2019 00:16:04 +0000 (UTC)
Received: from pdx1-sub0-mail-a82.g.dreamhost.com
 (100-96-15-217.trex.outbound.svc.cluster.local [100.96.15.217])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id A966F341010;
 Thu, 31 Oct 2019 00:16:03 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a82.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Thu, 31 Oct 2019 00:16:04 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Turn-Spill: 2299bb9c785ab281_1572480963955_1726179847
X-MC-Loop-Signature: 1572480963955:2135995242
X-MC-Ingress-Time: 1572480963954
Received: from pdx1-sub0-mail-a82.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a82.g.dreamhost.com (Postfix) with ESMTP id 5D61680153;
 Wed, 30 Oct 2019 17:15:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=iaZZdGbCgCltD/9Yf/65WUbfZng=; b=
 nw/BPIiymYw42f8dWk5FTeb4iccu6W9x9kV8GvkiFPDI9DKy8q7CIrBn3JMmXTAi
 jWqkhjLLqr25SZLD5hIwAVgpkXsTiBhTAj9sVsTPQh0rRyHFfGX0yl5AssNZ+FQ2
 cmBggjyNsDg4lLp1HFjxsogGAX6yN92K5Dvto9V5y9Q=
Received: from mail.jurta.org (m91-129-101-77.cust.tele2.ee [91.129.101.77])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a82.g.dreamhost.com (Postfix) with ESMTPSA id C6F1E8015C;
 Wed, 30 Oct 2019 17:15:56 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a82
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
 <83sgnbpxq6.fsf@HIDDEN> <871ruvax4p.fsf@HIDDEN>
 <835zk6p6ki.fsf@HIDDEN>
Date: Thu, 31 Oct 2019 01:59:38 +0200
In-Reply-To: <835zk6p6ki.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 30 Oct
 2019 17:59:57 +0200")
Message-ID: <87tv7p4wet.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain

>> I tried to not reset these flags only for the tab-line, and indeed
>> when the tab-line is truncated, then truncated_on_right_p is true
>> most of the time, but not always.  It's false when the tab-line
>> is truncated between tabs.
>> 
>> AFAIU by looking at 'display_string', it looks like this has something
>> to do with whitespace between tabs as this comment explains:
>> 
>> 	  /* Add truncation mark, but don't do it if the line is
>> 	     truncated at a padding space.  */
>
> I don't think this is the reason, because AFAICT tab-line-format
> doesn't include constructs that would pad its elements with spaces.
>
> Can you cook up a simple recipe where the truncation bitmaps don't
> appear, and also show the patch you used not to reset those flags?
> I'd like to look into what happens in the code in that case.

Please try with this patch to resize the frame right edge until the edge
is between tabs, then it outputs "truncated_on_right_p=0" whereas
when the truncating frame edge is not between tabs then it outputs
"truncated_on_right_p=1"


--=-=-=
Content-Type: text/x-diff
Content-Disposition: inline; filename=current_tab_visible_p.patch

diff --git a/src/xdisp.c b/src/xdisp.c
index 987c760c74..b20c7718bd 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -1419,6 +1419,33 @@ window_hscroll_limited (struct window *w, struct frame *f)
   return window_hscroll;
 }
 
+static bool
+current_tab_visible_p (struct window *w, int *tab_num)
+{
+  bool visible_p = false;
+
+  if (window_wants_tab_line (w))
+    {
+      struct it it;
+
+      Lisp_Object window_tab_line_format
+	= window_parameter (w, Qtab_line_format);
+
+      w->tab_line_height
+	= display_mode_line (w, TAB_LINE_FACE_ID,
+			     NILP (window_tab_line_format)
+			     ? BVAR (current_buffer, tab_line_format)
+			     : window_tab_line_format);
+
+      init_iterator (&it, w, -1, -1, NULL, TAB_LINE_FACE_ID);
+
+      fprintf (stderr, "tab_line_p=%d truncated_on_right_p=%d last_visible_x=%d\n",
+               it.glyph_row->tab_line_p, it.glyph_row->truncated_on_right_p, it.last_visible_x);
+    }
+
+  return visible_p;
+}
+
 /* Return true if position CHARPOS is visible in window W.
    CHARPOS < 0 means return info about WINDOW_END position.
    If visible, set *X and *Y to pixel coordinates of top left corner.
@@ -24897,6 +24924,13 @@ display_mode_lines (struct window *w)
 
   if (window_wants_tab_line (w))
     {
+      int tab_num = 0;
+
+      if (current_tab_visible_p (w, &tab_num))
+        {
+          /* Set some Lisp variable */
+        }
+
       Lisp_Object window_tab_line_format
 	= window_parameter (w, Qtab_line_format);
 
@@ -24984,7 +25018,10 @@ display_mode_line (struct window *w, enum face_id face_id, Lisp_Object format)
   it.glyph_row->full_width_p = true;
   it.glyph_row->continued_p = false;
   it.glyph_row->truncated_on_left_p = false;
-  it.glyph_row->truncated_on_right_p = false;
+
+  /* Currently only tab-line needs truncation detection.  */
+  if (face_id != TAB_LINE_FACE_ID)
+    it.glyph_row->truncated_on_right_p = false;
 
   /* Make a 3D mode-line have a shadow at its right end.  */
   face = FACE_FROM_ID (it.f, face_id);

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 30 Oct 2019 16:00:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 30 12:00:08 2019
Received: from localhost ([127.0.0.1]:51298 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iPqOF-0000TU-L4
	for submit <at> debbugs.gnu.org; Wed, 30 Oct 2019 12:00:08 -0400
Received: from eggs.gnu.org ([209.51.188.92]:41168)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iPqOE-0000Nz-00
 for 37667 <at> debbugs.gnu.org; Wed, 30 Oct 2019 12:00:06 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:35660)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iPqO7-0007vs-Vy; Wed, 30 Oct 2019 12:00:00 -0400
Received: from [176.228.60.248] (port=3133 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iPqO6-0003Im-PW; Wed, 30 Oct 2019 11:59:59 -0400
Date: Wed, 30 Oct 2019 17:59:57 +0200
Message-Id: <835zk6p6ki.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <871ruvax4p.fsf@HIDDEN> (message from Juri Linkov on
 Wed, 30 Oct 2019 02:35:18 +0200)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <83o8yjke0u.fsf@HIDDEN>
 <87lftnqbmg.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
 <83sgnbpxq6.fsf@HIDDEN> <871ruvax4p.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Wed, 30 Oct 2019 02:35:18 +0200
> 
> >   it.glyph_row->full_width_p = true;
> >   it.glyph_row->continued_p = false;
> >   it.glyph_row->truncated_on_left_p = false;
> >   it.glyph_row->truncated_on_right_p = false;
> >
> > I think you will find that before the last two lines are executed, the
> > truncated_on_right_p flag is set for the tab-line in your example.
> >
> > I think we need to make a change there to not reset the last 2 flags
> > when we are displaying the tab-line.  (The full_width_p flag should
> > still be set, because we don't want margin areas on the tab-line.)
> 
> I tried to not reset these flags only for the tab-line, and indeed
> when the tab-line is truncated, then truncated_on_right_p is true
> most of the time, but not always.  It's false when the tab-line
> is truncated between tabs.
> 
> AFAIU by looking at 'display_string', it looks like this has something
> to do with whitespace between tabs as this comment explains:
> 
> 	  /* Add truncation mark, but don't do it if the line is
> 	     truncated at a padding space.  */

I don't think this is the reason, because AFAICT tab-line-format
doesn't include constructs that would pad its elements with spaces.

Can you cook up a simple recipe where the truncation bitmaps don't
appear, and also show the patch you used not to reset those flags?
I'd like to look into what happens in the code in that case.

> I don't want to modify display_string to take the tab-line
> into account because more logic for searching the current tab
> needs to be implemented anyway.

Searching the current tab and displaying truncation indicators are two
separate tasks that don't necessarily need the same (or even similar)
code.  The former could be found much easier, I think.

> So maybe better to copy code from display_string to a new function
> tab_visible_in_tab_line, and beside detection of truncation also add
> more code to detect a situation when the current tab is not visible
> due to truncation.

I don't think these two jobs are similar enough, but maybe I don't
understand well enough what you have in mind.  Can you elaborate how
you intended to search for the current tab?

> One thing that I don't understand where a function similar to
> display_string will produce glyphs?  It should not touch the
> real tab-line.  It should only check if the produced glyphs
> push the current tab out of view.

If you don't want the display code to produce glyphs, you should
arrange for it->glyph_row to be a NULL pointer.  See the call to
init_iterator inside format-mode-line to understand how this is done.
That function has the same problem as what you describe above.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 30 Oct 2019 00:35:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 29 20:35:56 2019
Received: from localhost ([127.0.0.1]:48787 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iPbxr-0005dN-Pv
	for submit <at> debbugs.gnu.org; Tue, 29 Oct 2019 20:35:56 -0400
Received: from earwig.ash.relay.mailchannels.net ([23.83.222.54]:53682)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iPbxm-0005d5-2v
 for 37667 <at> debbugs.gnu.org; Tue, 29 Oct 2019 20:35:51 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 32C1CE0A10;
 Wed, 30 Oct 2019 00:35:46 +0000 (UTC)
Received: from pdx1-sub0-mail-a34.g.dreamhost.com
 (100-96-85-194.trex.outbound.svc.cluster.local [100.96.85.194])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id C1287E07E1;
 Wed, 30 Oct 2019 00:35:45 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a34.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Wed, 30 Oct 2019 00:35:46 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Obese-Harbor: 325471092ecf9685_1572395746000_3438737537
X-MC-Loop-Signature: 1572395746000:4113029791
X-MC-Ingress-Time: 1572395746000
Received: from pdx1-sub0-mail-a34.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a34.g.dreamhost.com (Postfix) with ESMTP id 2FFC19F9A3;
 Tue, 29 Oct 2019 17:35:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=FQnXOAm2SEkPaSHy+s3W0aezpK4=; b=
 yQcvhKCA2JoukYwfuO7mMe5cjjW175yy4QEwWU0n+YHa5uaXgV5NZDpNIQWzn/eB
 1+qGobD6s0QBoCA0OleVptIqsz7LLkDNHroQv/tb4dNarTI3zsGg5yqYX3co7CRD
 1jzol5WseGep7UW3B0ukv/dWwVH3/ZU1N/kYiE8YZpc=
Received: from mail.jurta.org (m91-129-101-77.cust.tele2.ee [91.129.101.77])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a34.g.dreamhost.com (Postfix) with ESMTPSA id 24FE09F99A;
 Tue, 29 Oct 2019 17:35:37 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a34
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <83o8yjke0u.fsf@HIDDEN>
 <87lftnqbmg.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
 <83sgnbpxq6.fsf@HIDDEN>
Date: Wed, 30 Oct 2019 02:35:18 +0200
In-Reply-To: <83sgnbpxq6.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 29 Oct
 2019 14:01:05 +0200")
Message-ID: <871ruvax4p.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> i.e. the columns '>' ('row->truncated_on_right_p')
>> and '<' ('row->truncated_on_right_p') both have values '0'.
>> 
>> Is this a bug?  Or maybe there is another way to detect tab-line truncation
>> in the glyph matrix?
>
> These flags are reset because display_mode_line forcibly resets them:
>
>   it.glyph_row->full_width_p = true;
>   it.glyph_row->continued_p = false;
>   it.glyph_row->truncated_on_left_p = false;
>   it.glyph_row->truncated_on_right_p = false;
>
> I think you will find that before the last two lines are executed, the
> truncated_on_right_p flag is set for the tab-line in your example.
>
> I think we need to make a change there to not reset the last 2 flags
> when we are displaying the tab-line.  (The full_width_p flag should
> still be set, because we don't want margin areas on the tab-line.)

I tried to not reset these flags only for the tab-line, and indeed
when the tab-line is truncated, then truncated_on_right_p is true
most of the time, but not always.  It's false when the tab-line
is truncated between tabs.

AFAIU by looking at 'display_string', it looks like this has something
to do with whitespace between tabs as this comment explains:

	  /* Add truncation mark, but don't do it if the line is
	     truncated at a padding space.  */

I don't want to modify display_string to take the tab-line
into account because more logic for searching the current tab
needs to be implemented anyway.  So maybe better to copy code from
display_string to a new function tab_visible_in_tab_line,
and beside detection of truncation also add more code to detect
a situation when the current tab is not visible due to truncation.

One thing that I don't understand where a function similar to
display_string will produce glyphs?  It should not touch the
real tab-line.  It should only check if the produced glyphs
push the current tab out of view.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 29 Oct 2019 12:01:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 29 08:01:16 2019
Received: from localhost ([127.0.0.1]:46980 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iPQBX-0006xl-V8
	for submit <at> debbugs.gnu.org; Tue, 29 Oct 2019 08:01:16 -0400
Received: from eggs.gnu.org ([209.51.188.92]:33639)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iPQBW-0006xY-RW
 for 37667 <at> debbugs.gnu.org; Tue, 29 Oct 2019 08:01:15 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:37974)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iPQBR-0008VO-Gb; Tue, 29 Oct 2019 08:01:09 -0400
Received: from [176.228.60.248] (port=3827 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iPQBQ-0000V2-Fs; Tue, 29 Oct 2019 08:01:09 -0400
Date: Tue, 29 Oct 2019 14:01:05 +0200
Message-Id: <83sgnbpxq6.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87d0egpjec.fsf@HIDDEN> (message from Juri Linkov on
 Tue, 29 Oct 2019 00:38:19 +0200)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <83eezjrbuj.fsf@HIDDEN>
 <87sgnw2pz3.fsf@HIDDEN> <83o8yjke0u.fsf@HIDDEN>
 <87lftnqbmg.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN> <87d0egpjec.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Tue, 29 Oct 2019 00:38:19 +0200
> 
> I'm still trying to understand why truncation flags are not set in the tab-line.
> Test case:
> 
> 0. emacs -Q
> 1. M-x global-tab-line-mode RET
> 2. C-x b 01234567890123456789012345678901234567890123456789 RET
>    more buffers with long names might be needed
>    to cause the tab-line truncation
> 
> 3. M-x dump-glyph-row RET
> 
> shows no truncation:
> 
> Row     Start       End Used oE><\CTZFesm     X    Y    W    H    V    A    P
> ==============================================================================
>   0         0         0  111 110000000000     0    0  677   16    0   12    9
> 
> i.e. the columns '>' ('row->truncated_on_right_p')
> and '<' ('row->truncated_on_right_p') both have values '0'.
> 
> Is this a bug?  Or maybe there is another way to detect tab-line truncation
> in the glyph matrix?

These flags are reset because display_mode_line forcibly resets them:

  it.glyph_row->full_width_p = true;
  it.glyph_row->continued_p = false;
  it.glyph_row->truncated_on_left_p = false;
  it.glyph_row->truncated_on_right_p = false;

I think you will find that before the last two lines are executed, the
truncated_on_right_p flag is set for the tab-line in your example.

I think we need to make a change there to not reset the last 2 flags
when we are displaying the tab-line.  (The full_width_p flag should
still be set, because we don't want margin areas on the tab-line.)




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 28 Oct 2019 23:01:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 28 19:01:22 2019
Received: from localhost ([127.0.0.1]:46558 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iPE0n-00049C-Qd
	for submit <at> debbugs.gnu.org; Mon, 28 Oct 2019 19:01:22 -0400
Received: from black.elm.relay.mailchannels.net ([23.83.212.19]:42959)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iPE0j-00048z-09
 for 37667 <at> debbugs.gnu.org; Mon, 28 Oct 2019 19:01:20 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id B6C5BE1010;
 Mon, 28 Oct 2019 23:01:15 +0000 (UTC)
Received: from pdx1-sub0-mail-a29.g.dreamhost.com
 (100-96-85-194.trex.outbound.svc.cluster.local [100.96.85.194])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 51041E0E19;
 Mon, 28 Oct 2019 23:01:15 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a29.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Mon, 28 Oct 2019 23:01:15 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Gusty-Cellar: 5e93827f25e8494c_1572303675563_2678548465
X-MC-Loop-Signature: 1572303675563:88276812
X-MC-Ingress-Time: 1572303675562
Received: from pdx1-sub0-mail-a29.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a29.g.dreamhost.com (Postfix) with ESMTP id AD02B9967C;
 Mon, 28 Oct 2019 16:01:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=SBNRfyKuIZ1d0rnNGGTQK2m0n9Y=; b=
 pPKgO/Kw1n0qxngMmabHPeCQ7T+ToiuYqaP4RuuIrvdrKrOil31Gvy84v0+HNR8/
 uPc6LMFE1NykDwYImO1lA/Wgs9/ZFh/LEz1Z3hIsFd4kE8+91+LKJ8Ww/DYmkLJz
 5alZE2z4so5JNy6p5aqRDsQCnDKd6mHd78z0ElVCIkk=
Received: from mail.jurta.org (m91-129-101-77.cust.tele2.ee [91.129.101.77])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a29.g.dreamhost.com (Postfix) with ESMTPSA id 126B1995C7;
 Mon, 28 Oct 2019 16:01:08 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a29
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <83eezjrbuj.fsf@HIDDEN>
 <87sgnw2pz3.fsf@HIDDEN> <83o8yjke0u.fsf@HIDDEN>
 <87lftnqbmg.fsf@HIDDEN> <83h84agytj.fsf@HIDDEN>
 <87tv89opbh.fsf@HIDDEN> <83mue1g845.fsf@HIDDEN>
 <83lftlg6zc.fsf@HIDDEN> <87lftlk504.fsf@HIDDEN>
 <83eezceir2.fsf@HIDDEN> <87pniwuwj5.fsf@HIDDEN>
 <83blufdehy.fsf@HIDDEN> <878spj57dk.fsf@HIDDEN>
 <83v9sm8rs3.fsf@HIDDEN> <87blubaw63.fsf@HIDDEN>
 <83zhhu34xz.fsf@HIDDEN> <8736fl91vp.fsf@HIDDEN>
 <834l0024lr.fsf@HIDDEN> <87eez4pjfk.fsf@HIDDEN>
 <83ftjjzbln.fsf@HIDDEN>
Date: Tue, 29 Oct 2019 00:38:19 +0200
In-Reply-To: <83ftjjzbln.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 23 Oct
 2019 19:10:44 +0300")
Message-ID: <87d0egpjec.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> The main problem in implementing auto-scrolling is how to detect the
>> situation when the current tab is not visible.  Maybe by implementing
>> a function like pos-visible-in-window-p, but named tab-visible-in-tab-line?
>
> That'd be fine with me.  Let me know if you need help in making that
> happen, either by talking or by coding.

I'm still trying to understand why truncation flags are not set in the tab-line.
Test case:

0. emacs -Q
1. M-x global-tab-line-mode RET
2. C-x b 01234567890123456789012345678901234567890123456789 RET
   more buffers with long names might be needed
   to cause the tab-line truncation

3. M-x dump-glyph-row RET

shows no truncation:

Row     Start       End Used oE><\CTZFesm     X    Y    W    H    V    A    P
==============================================================================
  0         0         0  111 110000000000     0    0  677   16    0   12    9

i.e. the columns '>' ('row->truncated_on_right_p')
and '<' ('row->truncated_on_right_p') both have values '0'.

Is this a bug?  Or maybe there is another way to detect tab-line truncation
in the glyph matrix?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 23 Oct 2019 16:11:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 23 12:11:12 2019
Received: from localhost ([127.0.0.1]:34870 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iNJE8-0003em-3z
	for submit <at> debbugs.gnu.org; Wed, 23 Oct 2019 12:11:12 -0400
Received: from eggs.gnu.org ([209.51.188.92]:37354)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iNJE6-0003eR-Ln
 for 37667 <at> debbugs.gnu.org; Wed, 23 Oct 2019 12:11:10 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:55364)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iNJE0-0004Z1-QV; Wed, 23 Oct 2019 12:11:05 -0400
Received: from [176.228.60.248] (port=3986 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iNJDz-0006j3-Ft; Wed, 23 Oct 2019 12:11:03 -0400
Date: Wed, 23 Oct 2019 19:10:44 +0300
Message-Id: <83ftjjzbln.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87eez4pjfk.fsf@HIDDEN> (message from Juri Linkov on
 Wed, 23 Oct 2019 00:19:27 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
 <87lftlk504.fsf@HIDDEN> <83eezceir2.fsf@HIDDEN>
 <87pniwuwj5.fsf@HIDDEN> <83blufdehy.fsf@HIDDEN>
 <878spj57dk.fsf@HIDDEN> <83v9sm8rs3.fsf@HIDDEN>
 <87blubaw63.fsf@HIDDEN> <83zhhu34xz.fsf@HIDDEN>
 <8736fl91vp.fsf@HIDDEN> <834l0024lr.fsf@HIDDEN>
 <87eez4pjfk.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Wed, 23 Oct 2019 00:19:27 +0300
> 
> The main problem in implementing auto-scrolling is how to detect the
> situation when the current tab is not visible.  Maybe by implementing
> a function like pos-visible-in-window-p, but named tab-visible-in-tab-line?

That'd be fine with me.  Let me know if you need help in making that
happen, either by talking or by coding.

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 22 Oct 2019 21:20:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 22 17:20:59 2019
Received: from localhost ([127.0.0.1]:60556 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iN1aN-0006Tt-7y
	for submit <at> debbugs.gnu.org; Tue, 22 Oct 2019 17:20:59 -0400
Received: from anteater.elm.relay.mailchannels.net ([23.83.212.3]:59318)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iN1aI-0006Tj-Sm
 for 37667 <at> debbugs.gnu.org; Tue, 22 Oct 2019 17:20:57 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 88C633C087D;
 Tue, 22 Oct 2019 21:20:53 +0000 (UTC)
Received: from pdx1-sub0-mail-a40.g.dreamhost.com
 (100-96-4-204.trex.outbound.svc.cluster.local [100.96.4.204])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id D201F3C03F2;
 Tue, 22 Oct 2019 21:20:52 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a40.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Tue, 22 Oct 2019 21:20:53 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Thread-Shade: 2d160a115572c83d_1571779253233_509614653
X-MC-Loop-Signature: 1571779253233:53598404
X-MC-Ingress-Time: 1571779253233
Received: from pdx1-sub0-mail-a40.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a40.g.dreamhost.com (Postfix) with ESMTP id 844CD7FDB6;
 Tue, 22 Oct 2019 14:20:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=FtGaIQkaOanKKj/2KUMQk9tCeDk=; b=
 zlhetp98a/MSAyFXuc36Jh8j11tVkIIvOzUhR72yCU7MCdmt9HJStsmOTToziLKA
 0LB8kAp+EytT75cbiAVJ76jzlm8Sp7BFwTOXZJhQwvQ33j4o4E9SYQ475tN5N0N9
 e3QJ7dl0K71BZRhzcjVZlzUIktxiwt75RtYTdGnIfqY=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a40.g.dreamhost.com (Postfix) with ESMTPSA id EF9EC7FD95;
 Tue, 22 Oct 2019 14:20:45 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a40
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
 <87lftlk504.fsf@HIDDEN> <83eezceir2.fsf@HIDDEN>
 <87pniwuwj5.fsf@HIDDEN> <83blufdehy.fsf@HIDDEN>
 <878spj57dk.fsf@HIDDEN> <83v9sm8rs3.fsf@HIDDEN>
 <87blubaw63.fsf@HIDDEN> <83zhhu34xz.fsf@HIDDEN>
 <8736fl91vp.fsf@HIDDEN> <834l0024lr.fsf@HIDDEN>
Date: Wed, 23 Oct 2019 00:19:27 +0300
In-Reply-To: <834l0024lr.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 22 Oct
 2019 18:16:00 +0300")
Message-ID: <87eez4pjfk.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

> But that won't work with variable-pitch fonts and with different
> images for the add and close buttons, would it?  Also, doesn't
> tab-line-format allow faces (which could change font size) and dynamic
> elements via the likes of :eval, like mode-line does?  these would
> prevent you from finding where to cut the content, no?
>
> But if this works, by all means go ahead and install something like
> that.

There are two related but separate features: scrolling and auto-scrolling.

Scrolling is implemented now and installed.  It provides UI with buttons,
commands, and mouse-wheeling.

Auto-scrolling could be implemented as well for user convenience: like when
auto-hscroll-mode is enabled, the tab-line could do the same - when due
to the long row of tabs, the current tab gets pushed over the right edge
outside of the screen, then the tab-line could be automatically scrolled
horizontally to make the current tab visible.

This could be implemented by setting the right value to the new window
parameter tab-line-hscroll, and it will bring the current tab back to the view.

The main problem in implementing auto-scrolling is how to detect the
situation when the current tab is not visible.  Maybe by implementing
a function like pos-visible-in-window-p, but named tab-visible-in-tab-line?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 22 Oct 2019 15:16:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 22 11:16:14 2019
Received: from localhost ([127.0.0.1]:60329 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iMvtM-000656-Uw
	for submit <at> debbugs.gnu.org; Tue, 22 Oct 2019 11:16:14 -0400
Received: from eggs.gnu.org ([209.51.188.92]:46119)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iMvtK-00064q-Nt
 for 37667 <at> debbugs.gnu.org; Tue, 22 Oct 2019 11:16:11 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:58659)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iMvtF-0007jb-0c; Tue, 22 Oct 2019 11:16:05 -0400
Received: from [176.228.60.248] (port=4612 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iMvtE-0006ky-6v; Tue, 22 Oct 2019 11:16:04 -0400
Date: Tue, 22 Oct 2019 18:16:00 +0300
Message-Id: <834l0024lr.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <8736fl91vp.fsf@HIDDEN> (message from Juri Linkov on
 Tue, 22 Oct 2019 01:20:42 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
 <87lftlk504.fsf@HIDDEN> <83eezceir2.fsf@HIDDEN>
 <87pniwuwj5.fsf@HIDDEN> <83blufdehy.fsf@HIDDEN>
 <878spj57dk.fsf@HIDDEN> <83v9sm8rs3.fsf@HIDDEN>
 <87blubaw63.fsf@HIDDEN> <83zhhu34xz.fsf@HIDDEN>
 <8736fl91vp.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Tue, 22 Oct 2019 01:20:42 +0300
> 
> This is so overwhelming that I'm still struggling with understanding the
> details of the display engine.  If hscrolling was already implemented
> for the header-line, we could just copy the existing solution to the
> tab-line.

Maybe I should simply sit down and write the code for doing this.

> So I looked how packages cope with the requirement of keeping hscrolling
> of the header-line in sync with hscrolling of the buffer, and found that
> the 'proced' package uses so simple solution that we could just do
> the same.  This is what it does:
> 
> (defun proced-header-line ()
>   "Return header line for Proced buffer."
>   (list (propertize " "
>                     'display
>                     (list 'space :align-to
>                           (line-number-display-width 'columns)))
>         (if (<= (window-hscroll) (length proced-header-line))
>             (replace-regexp-in-string ;; preserve text properties
>              "\\(%\\)" "\\1\\1"
>              (substring proced-header-line (window-hscroll))))))
> 
> i.e. it just cuts scrolled content from the beginning.

But that won't work with variable-pitch fonts and with different
images for the add and close buttons, would it?  Also, doesn't
tab-line-format allow faces (which could change font size) and dynamic
elements via the likes of :eval, like mode-line does?  these would
prevent you from finding where to cut the content, no?

But if this works, by all means go ahead and install something like
that.

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 21 Oct 2019 22:27:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 21 18:27:52 2019
Received: from localhost ([127.0.0.1]:58046 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iMg9X-0007IB-R7
	for submit <at> debbugs.gnu.org; Mon, 21 Oct 2019 18:27:52 -0400
Received: from bird.elm.relay.mailchannels.net ([23.83.212.17]:10353)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iMg9V-0007I3-NK
 for 37667 <at> debbugs.gnu.org; Mon, 21 Oct 2019 18:27:50 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 6F25D5019EA;
 Mon, 21 Oct 2019 22:27:48 +0000 (UTC)
Received: from pdx1-sub0-mail-a38.g.dreamhost.com
 (100-96-60-11.trex.outbound.svc.cluster.local [100.96.60.11])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id F1C475007BD;
 Mon, 21 Oct 2019 22:27:47 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a38.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Mon, 21 Oct 2019 22:27:48 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Chief-Scare: 008473df355ab5c7_1571696868238_2213818668
X-MC-Loop-Signature: 1571696868238:3875786157
X-MC-Ingress-Time: 1571696868238
Received: from pdx1-sub0-mail-a38.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a38.g.dreamhost.com (Postfix) with ESMTP id 3F5FE83D39;
 Mon, 21 Oct 2019 15:27:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=HLoRHPQH4AZyKcRg6GTks7HjG14=; b=
 C9VhVfRckEG5U9DmhW1JdH+8VH3vOqx7FhD7wUX82o4WrP/48F7GSLUcRMd6GJ4Z
 jHK8BBHxQ0YZlcfbDTvNkCdoLJxwkZPU+DAsQAnmKHA7zKGDVRj21rclp6xmK466
 ASHFCdtSxRgSq+5ZIGGip0LGNUX+oX8oYAK0d5yqPEY=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a38.g.dreamhost.com (Postfix) with ESMTPSA id C043883D2A;
 Mon, 21 Oct 2019 15:27:42 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a38
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
 <87lftlk504.fsf@HIDDEN> <83eezceir2.fsf@HIDDEN>
 <87pniwuwj5.fsf@HIDDEN> <83blufdehy.fsf@HIDDEN>
 <878spj57dk.fsf@HIDDEN> <83v9sm8rs3.fsf@HIDDEN>
 <87blubaw63.fsf@HIDDEN> <83zhhu34xz.fsf@HIDDEN>
Date: Tue, 22 Oct 2019 01:20:42 +0300
In-Reply-To: <83zhhu34xz.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 21 Oct
 2019 10:58:48 +0300")
Message-ID: <8736fl91vp.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> But maybe tab-button granularity is fine.  The only problem is that
>> I still studying the code to understand where to begin.  Could you suggest
>> in what function to implement all this scrolling?
>
> I think you will need a new function.  A tab-line is generated from a
> Lisp string, and we don't have code for hscrolling screen lines
> produced from strings (as opposed to from buffer text).
>
> The general idea is to identify the first (leftmost) tab you want to
> be visible, and then make changes in display_mode_line to start
> display from that tab.  I think the first part is the more complex of
> these two.  format-mode-line shows an example of how to generate
> display derived from Lisp and C strings without displaying anything;
> you could use that for finding the X coordinate (in it.current_x) of
> the beginning of the Nth tab's button.  Each click on the right fringe
> increases N, each click on the left decreases it.  The X coordinate
> you compute is the value to use for it.first_visible_x in
> display_mode_line.

This is so overwhelming that I'm still struggling with understanding the
details of the display engine.  If hscrolling was already implemented
for the header-line, we could just copy the existing solution to the
tab-line.

So I looked how packages cope with the requirement of keeping hscrolling
of the header-line in sync with hscrolling of the buffer, and found that
the 'proced' package uses so simple solution that we could just do
the same.  This is what it does:

(defun proced-header-line ()
  "Return header line for Proced buffer."
  (list (propertize " "
                    'display
                    (list 'space :align-to
                          (line-number-display-width 'columns)))
        (if (<= (window-hscroll) (length proced-header-line))
            (replace-regexp-in-string ;; preserve text properties
             "\\(%\\)" "\\1\\1"
             (substring proced-header-line (window-hscroll))))))

i.e. it just cuts scrolled content from the beginning.

Adapting the same idea to the tab-line provides the workable and
reliable solution with just a dozen lines of Lisp code.  You can
evaluate this, and everything works smoothly:

(advice-add 'tab-line-format :around
            (lambda (orig-fun)
              (let ((tabs (funcall orig-fun))
                    (hscroll (window-parameter nil 'hscroll)))
                (if hscroll (nthcdr hscroll tabs) tabs)))
            '((name . tab-line-format-hscroll)))

(defun tab-line-hscroll (&optional arg window)
  (let* ((hscroll (window-parameter window 'hscroll)))
    (set-window-parameter
     window 'hscroll (max 0 (min (+ (or hscroll 0) (or arg 1))
                                 (1- (length (funcall tab-line-tabs-function))))))))

(defun tab-line-hscroll-left (&optional arg mouse-event)
  (interactive (list current-prefix-arg last-nonmenu-event))
  (tab-line-hscroll arg (and (listp mouse-event) (posn-window (event-start mouse-event))))
  (force-mode-line-update))

(defun tab-line-hscroll-right (&optional arg mouse-event)
  (interactive (list current-prefix-arg last-nonmenu-event))
  (tab-line-hscroll (- (or arg 1)) (and (listp mouse-event) (posn-window (event-start mouse-event))))
  (force-mode-line-update))

(global-set-key [tab-line mouse-4] 'tab-line-hscroll-left)
(global-set-key [tab-line mouse-5] 'tab-line-hscroll-right)
(global-set-key [tab-line wheel-up] 'tab-line-hscroll-left)
(global-set-key [tab-line wheel-down] 'tab-line-hscroll-right)

Thus mouse-wheel hscrolls the tab-line exactly like mouse-wheel
hscrolls tabs in Firefox.

Also these two commands can be used via M-x, and can be bound
to some key that could used via a transitive keymap, e.g.
some prefix initiates a key sequence, then consecutive
<right> keys continue hscrolling.

Later advice-add will be moved into the body of tab-line-format.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 21 Oct 2019 07:59:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 21 03:59:03 2019
Received: from localhost ([127.0.0.1]:55684 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iMSal-0006La-BZ
	for submit <at> debbugs.gnu.org; Mon, 21 Oct 2019 03:59:03 -0400
Received: from eggs.gnu.org ([209.51.188.92]:41720)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iMSaj-0006Kw-1i
 for 37667 <at> debbugs.gnu.org; Mon, 21 Oct 2019 03:59:01 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:33051)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iMSad-0003Y6-Bs; Mon, 21 Oct 2019 03:58:55 -0400
Received: from [176.228.60.248] (port=4223 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iMSac-00034H-OB; Mon, 21 Oct 2019 03:58:55 -0400
Date: Mon, 21 Oct 2019 10:58:48 +0300
Message-Id: <83zhhu34xz.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87blubaw63.fsf@HIDDEN> (message from Juri Linkov on
 Mon, 21 Oct 2019 01:28:52 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
 <87lftlk504.fsf@HIDDEN> <83eezceir2.fsf@HIDDEN>
 <87pniwuwj5.fsf@HIDDEN> <83blufdehy.fsf@HIDDEN>
 <878spj57dk.fsf@HIDDEN> <83v9sm8rs3.fsf@HIDDEN>
 <87blubaw63.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Mon, 21 Oct 2019 01:28:52 +0300
> 
> > Agreed.  As we already have fringe bitmaps to show truncation both on
> > the left and on the right, arranging for them to be displayed for
> > tab-lines will allow us to bind clicking on these to scrolling
> > commands.
> 
> Trying to click on truncation arrows in fringe bitmaps of buffers signals:
> 
>   <right-fringe> <mouse-1> is undefined
> 
> So we need to bind <mouse-1> to a tab-line scrolling command
> for [tab-line right-fringe] keymap?

Either that, or bind the click on the fringe to a command that looks
at posn-area of the click event, and scrolls the tab-line of the area
is tab-line.

> Or maybe the tab-line could be dragged like dragging the
> horizontal scroll bar in horizontal-scroll-bar-mode?

That would prevent using the drag events for something else, like
reordering the tabs.  It is also not what other applications do,
right?

> Or mouse-wheel could scroll the whole tab-line horizontally
> instead of switching tabs like it does now?

That could be an additional feature, but it cannot be the only one, I
think, because some mice have no wheel.

> >> These commands could work for the tab-line like hscrolling
> >> in the buffer works when 'auto-hscroll-mode' is 'current-line'.
> >
> > There's an important difference, I think: you want to scroll the
> > tab-line in tab-button granularity, not one character at a time.  But
> > the principle and the main idea is the same, yes.
> 
> I thought that granularity should be wider: scrolling by the window width,
> like 'C-x >' ('scroll-right') does, where default is window width minus 2.

I think this would be less convenient.

> But maybe tab-button granularity is fine.  The only problem is that
> I still studying the code to understand where to begin.  Could you suggest
> in what function to implement all this scrolling?

I think you will need a new function.  A tab-line is generated from a
Lisp string, and we don't have code for hscrolling screen lines
produced from strings (as opposed to from buffer text).

The general idea is to identify the first (leftmost) tab you want to
be visible, and then make changes in display_mode_line to start
display from that tab.  I think the first part is the more complex of
these two.  format-mode-line shows an example of how to generate
display derived from Lisp and C strings without displaying anything;
you could use that for finding the X coordinate (in it.current_x) of
the beginning of the Nth tab's button.  Each click on the right fringe
increases N, each click on the left decreases it.  The X coordinate
you compute is the value to use for it.first_visible_x in
display_mode_line.

I hope this makes enough sense to get you going.  If not, please ask
more specific questions.

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 20 Oct 2019 22:41:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Oct 20 18:41:55 2019
Received: from localhost ([127.0.0.1]:55442 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iMJtb-0005Gk-0O
	for submit <at> debbugs.gnu.org; Sun, 20 Oct 2019 18:41:55 -0400
Received: from dragonfly.birch.relay.mailchannels.net ([23.83.209.51]:43057)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iMJtZ-0005Gc-Lt
 for 37667 <at> debbugs.gnu.org; Sun, 20 Oct 2019 18:41:54 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 62E882C11B3;
 Sun, 20 Oct 2019 22:41:52 +0000 (UTC)
Received: from pdx1-sub0-mail-a8.g.dreamhost.com
 (100-96-84-88.trex.outbound.svc.cluster.local [100.96.84.88])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 058BA2C0DCF;
 Sun, 20 Oct 2019 22:41:52 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a8.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Sun, 20 Oct 2019 22:41:52 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Cellar-Plucky: 7e472491109255bb_1571611312230_1715494973
X-MC-Loop-Signature: 1571611312230:1356925046
X-MC-Ingress-Time: 1571611312230
Received: from pdx1-sub0-mail-a8.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a8.g.dreamhost.com (Postfix) with ESMTP id D24B797EDA;
 Sun, 20 Oct 2019 15:41:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=Uvwmg9r6JTGr3vqyufbLIz/qFEE=; b=
 Qd3fM5QSsVCN8pzF0PiIQAGu6s1NMjAFR8ooDgQqa+WH/HDzFuj3NDz9+bP4NGIV
 RU3DriLf6RZ/WksdhBndlYKM1UiPc+ZKYjLeGqkzN/g5Q0Cu7ft8C8024bGOABfS
 JcwJMJ/dJMBTNwvUxFB1s4L7+0kBdQthVRzmniWPbgg=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a8.g.dreamhost.com (Postfix) with ESMTPSA id 58A2497ED7;
 Sun, 20 Oct 2019 15:41:44 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a8
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
 <87lftlk504.fsf@HIDDEN> <83eezceir2.fsf@HIDDEN>
 <87pniwuwj5.fsf@HIDDEN> <83blufdehy.fsf@HIDDEN>
 <878spj57dk.fsf@HIDDEN> <83v9sm8rs3.fsf@HIDDEN>
Date: Mon, 21 Oct 2019 01:28:52 +0300
In-Reply-To: <83v9sm8rs3.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 18 Oct
 2019 09:57:32 +0300")
Message-ID: <87blubaw63.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> It seems before implementing this, first we need to decide
>> what UI we could provide.  This decision affects a set of commands
>> that needs to be implemented for tab-line hscrolling.
>>
>> One variant is to allow dragging the tab-line by mouse where
>> dragging to the left will scroll the tab-line to the left.
>> But actually no web browser implements this behavior, they use
>> dragging to move a tab to other place.
>>
>> So maybe better to have two arrow buttons: clicking on the left arrow
>> will hscroll to the left.
>
> Agreed.  As we already have fringe bitmaps to show truncation both on
> the left and on the right, arranging for them to be displayed for
> tab-lines will allow us to bind clicking on these to scrolling
> commands.

Trying to click on truncation arrows in fringe bitmaps of buffers signals:

  <right-fringe> <mouse-1> is undefined

So we need to bind <mouse-1> to a tab-line scrolling command
for [tab-line right-fringe] keymap?

Or maybe the tab-line could be dragged like dragging the
horizontal scroll bar in horizontal-scroll-bar-mode?

Or mouse-wheel could scroll the whole tab-line horizontally
instead of switching tabs like it does now?

>> Then we need two commands implemented in C: 'tab-line-scroll-left'
>> and 'tab-line-scroll-right'.  And later to add some keys like
>> 'C-x >' bound to 'scroll-left'.
>>
>> These commands could work for the tab-line like hscrolling
>> in the buffer works when 'auto-hscroll-mode' is 'current-line'.
>
> There's an important difference, I think: you want to scroll the
> tab-line in tab-button granularity, not one character at a time.  But
> the principle and the main idea is the same, yes.

I thought that granularity should be wider: scrolling by the window width,
like 'C-x >' ('scroll-right') does, where default is window width minus 2.
But maybe tab-button granularity is fine.  The only problem is that
I still studying the code to understand where to begin.  Could you suggest
in what function to implement all this scrolling?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 18 Oct 2019 06:57:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 18 02:57:53 2019
Received: from localhost ([127.0.0.1]:49198 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iLMCu-0008Df-Sh
	for submit <at> debbugs.gnu.org; Fri, 18 Oct 2019 02:57:53 -0400
Received: from eggs.gnu.org ([209.51.188.92]:45618)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iLMCt-0008DR-JJ
 for 37667 <at> debbugs.gnu.org; Fri, 18 Oct 2019 02:57:51 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:55773)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iLMCo-0005it-Ce; Fri, 18 Oct 2019 02:57:46 -0400
Received: from [176.228.60.248] (port=1529 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iLMCn-0001HW-BI; Fri, 18 Oct 2019 02:57:45 -0400
Date: Fri, 18 Oct 2019 09:57:32 +0300
Message-Id: <83v9sm8rs3.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <878spj57dk.fsf@HIDDEN> (message from Juri Linkov on
 Fri, 18 Oct 2019 01:34:15 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
 <87lftlk504.fsf@HIDDEN> <83eezceir2.fsf@HIDDEN>
 <87pniwuwj5.fsf@HIDDEN> <83blufdehy.fsf@HIDDEN>
 <878spj57dk.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Fri, 18 Oct 2019 01:34:15 +0300
> 
> It seems before implementing this, first we need to decide
> what UI we could provide.  This decision affects a set of commands
> that needs to be implemented for tab-line hscrolling.
> 
> One variant is to allow dragging the tab-line by mouse where
> dragging to the left will scroll the tab-line to the left.
> But actually no web browser implements this behavior, they use
> dragging to move a tab to other place.
> 
> So maybe better to have two arrow buttons: clicking on the left arrow
> will hscroll to the left.

Agreed.  As we already have fringe bitmaps to show truncation both on
the left and on the right, arranging for them to be displayed for
tab-lines will allow us to bind clicking on these to scrolling
commands.

> Then we need two commands implemented in C: 'tab-line-scroll-left'
> and 'tab-line-scroll-right'.  And later to add some keys like
> 'C-x >' bound to 'scroll-left'.
> 
> These commands could work for the tab-line like hscrolling
> in the buffer works when 'auto-hscroll-mode' is 'current-line'.

There's an important difference, I think: you want to scroll the
tab-line in tab-button granularity, not one character at a time.  But
the principle and the main idea is the same, yes.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 17 Oct 2019 22:40:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 17 18:40:28 2019
Received: from localhost ([127.0.0.1]:49051 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iLERY-0004Qc-7w
	for submit <at> debbugs.gnu.org; Thu, 17 Oct 2019 18:40:28 -0400
Received: from blue.elm.relay.mailchannels.net ([23.83.212.20]:32152)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iLERV-0004QU-Px
 for 37667 <at> debbugs.gnu.org; Thu, 17 Oct 2019 18:40:26 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id A458D21B80;
 Thu, 17 Oct 2019 22:40:24 +0000 (UTC)
Received: from pdx1-sub0-mail-a45.g.dreamhost.com
 (100-96-4-204.trex.outbound.svc.cluster.local [100.96.4.204])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 41D5421986;
 Thu, 17 Oct 2019 22:40:24 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a45.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Thu, 17 Oct 2019 22:40:24 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Hook-Interest: 27f9f1601626f3e5_1571352024472_1834423305
X-MC-Loop-Signature: 1571352024472:2719137991
X-MC-Ingress-Time: 1571352024472
Received: from pdx1-sub0-mail-a45.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a45.g.dreamhost.com (Postfix) with ESMTP id 3F2A780703;
 Thu, 17 Oct 2019 15:40:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=XzcOzAyXcCWWyzB018hf6S+xTFU=; b=
 Q0cde9S3YlzRDdVU9ydZnRVrR3Sf38297ya8PQGoIVlH8e0g8ISXOL8WzqHWEnQC
 UU7d3twXcz2uH09l2rc8C9N+/lADjz5iRHf9DdX126l+wlJJZ6cEOywgBWYiPxc4
 TKmvIFHt4ODI2aijzO95sTjcKzNEq9uGJfvGMa8DSXE=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a45.g.dreamhost.com (Postfix) with ESMTPSA id E260080707;
 Thu, 17 Oct 2019 15:40:18 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a45
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
 <87lftlk504.fsf@HIDDEN> <83eezceir2.fsf@HIDDEN>
 <87pniwuwj5.fsf@HIDDEN> <83blufdehy.fsf@HIDDEN>
Date: Fri, 18 Oct 2019 01:34:15 +0300
In-Reply-To: <83blufdehy.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 17 Oct
 2019 10:20:57 +0300")
Message-ID: <878spj57dk.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> Thanks for the explanation.  One thing that I still don't understand is
>> how to find the exact position in the mode-line string where it's
>> truncated.  For example, in the string "...abc|xyz", the part
>> until "abc" is visible, but the rest of the string is truncated,
>> so "xyz" is not visible.  How to find this position where truncation occurs?
>
> You should look for that in the glyphs, not in the string you want to
> display.
>
>> Actually, it seems I found it, it's it.last_visible_x.  Is this correct?
>
> it.last_visible_x is the first pixel that is _outside_ of the
> viewport.  The last pixel that is still visible has X coordinate one
> less than that.
>
> Also note that when a screen line (a.k.a. "glyph row") is hscrolled,
> its display doesn't starts when it.current_x is zero, it starts when
> it.current_x is it.first_visible_x.

It seems before implementing this, first we need to decide
what UI we could provide.  This decision affects a set of commands
that needs to be implemented for tab-line hscrolling.

One variant is to allow dragging the tab-line by mouse where
dragging to the left will scroll the tab-line to the left.
But actually no web browser implements this behavior, they use
dragging to move a tab to other place.

So maybe better to have two arrow buttons: clicking on the left arrow
will hscroll to the left.

Then we need two commands implemented in C: 'tab-line-scroll-left'
and 'tab-line-scroll-right'.  And later to add some keys like
'C-x >' bound to 'scroll-left'.

These commands could work for the tab-line like hscrolling
in the buffer works when 'auto-hscroll-mode' is 'current-line'.
Also their ARG could be like in 'scroll-left' where the default ARG
is window width minus 2.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 17 Oct 2019 08:25:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 17 04:25:27 2019
Received: from localhost ([127.0.0.1]:47095 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iL167-0002y8-A2
	for submit <at> debbugs.gnu.org; Thu, 17 Oct 2019 04:25:27 -0400
Received: from mout.gmx.net ([212.227.15.19]:56175)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rudalics@HIDDEN>) id 1iL165-0002xo-NZ
 for 37667 <at> debbugs.gnu.org; Thu, 17 Oct 2019 04:25:26 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
 s=badeba3b8450; t=1571300714;
 bh=cN8ttlrLwRa880hTyDYupqY9jlqdWb4VjLkWfELHA6Q=;
 h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To;
 b=OQMR29FiLcR3oO4JxagAKh03w8947RAFGrj+LP0SA7KRbUOIPcbsHhIeNScDh8hX5
 54OqzIrSL6SGTEOaIn+A7oJvPf3xw4Mo3stLuVnQzi0KTSC5r1pg1LS3gIDlR9xDGg
 5/sHzH8tXQ1tFuFCChP6RLL0+2G2GXOZq6eHkjXg=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.1.101] ([46.125.249.89]) by mail.gmx.com (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MoO6M-1hfLg93lw8-00opcI; Thu, 17
 Oct 2019 10:25:14 +0200
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
To: Juri Linkov <juri@HIDDEN>
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN>
 <8736fw5ji3.fsf@HIDDEN>
 <a04c4fa8-708f-b90d-80e5-42111350c6a3@HIDDEN>
 <871rvc1k7m.fsf@HIDDEN>
From: martin rudalics <rudalics@HIDDEN>
Message-ID: <bc657994-9fca-4317-4a1c-a88b54dfac12@HIDDEN>
Date: Thu, 17 Oct 2019 10:25:10 +0200
MIME-Version: 1.0
In-Reply-To: <871rvc1k7m.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: de-AT
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K1:ATfaogB5SxpAuu7J301At3DTk14RilPeQ7uzH3z1rf/ypjRB1VA
 jPYGYOXWRtLlpqmuHc2pIj2YYVB0aYtnz1G8it9kNq7aRr4M+UvNnMxdIlmNfl35doC2q6t
 Zxhn2DvRYOWW/OK7ZECy2/vqBnazHGZL8buVUIo2kbMh6dMcbMWlMRgoDG9IqorG/MsjOqQ
 riTcq3liPzN7LZneX2yLA==
X-Spam-Flag: NO
X-UI-Out-Filterresults: notjunk:1;V03:K0:SNPEKb3TcPY=:g3CsQ3iIiGVtRpGlhtbdjZ
 ynktKZ10ptkKjubqjkdAiEMCGFL3jlkmm0mp2QTtRf+hyaXzXpGh0aiiszIpxhI/9bY1lnoNO
 tIOBkmv439zdLLVYu6X5Kg+MSwwq434c2xhZUoqtdMzBGngmc0S3mpx2fFJuFx4ZFfzHTY00t
 YtZ6WizKlJ+/PspEG+fMEMkH8CWZO4s8Y893V4bdhN5XAy1tr/FKP9rnR+TTphjfP7HNmajKC
 xHL47nhE8MhAjJ7emOeAbPMzIYoc+QG0/ya3kzxn08XnWxrCovNaEa2cYcwY8AJnJjcASt9jZ
 i+P4EqX+jLbeq0mRd58SbT7ldq1kamgjljvkdJh3BbUByGGecuOfmYUyUmad0nq62CpviBZmT
 K9/CRyxy7T1E10b11JWxp61trOkKYfetODdAGApjrb3fpxksqIhYFhj79wM57TgbgdHZ11h1J
 eBPzeEZPOLJ7tM2/ccjX91UDdQpAcuR8ziqkYHSyaFjsqeATraOwCJ5H023F1DKZ/RdjBp8Gg
 DVqM2JzFcZirwhMD0WnNsqgu7vta2f52Iq12QwLO8qbNrmuIfc9GZV/WO/zCfK9DoZSkNt51o
 pyl63qc77qYhnTjj17VA/x94V6xumGsxGXlCbeBjOlYYcV92G7uSHv8I/GJKymfDIfAdpx+im
 dgEEB8hjXTlH6lqIHeqvI+twcspspSR/H8JF3OAMb88uiik1pk+kuLN8q+rPfdGW9SIZrk2Xr
 8FnKH3x9wGbw69JGE4FD2JnxKQj7GUe0h2wKoWn1gbPmab4DxXfUGmiOs5nMaJhgYLTySEI7M
 4oA+ejC3mkyBD+GWM1L/1EQfhKLng1qHS27DPSWHV52+4+YfaoTMo17Rn9fi/t7KuMWD92uST
 3z+sTJyj8znp/ziVm3eUx+x6JucDeoc+tCcfB6Qg57kd5yJ8CWhU9Aya5K8BENrMrOMdKrtxw
 KzB88b7DN9mAiYSWIzuBGr/5VXWkq9UdE0uC+GVVS8TlS/0fKb71EPrczUiPWJwvvCU6Znh6H
 ws26DEWbkUafxdlTz1DMz9f6/oqIp+GGE7Zvi0JlA5adnN8AMuNFdA9D8RvN3vMX6y8ltwa7q
 I1okFNCp0rQhWz1QamMJ15Gkj48B/Yh8JJ1I7xcMVp19+AfPNnOUaiYw1PL6HkIPcSALi72A+
 Fr7N9RteBGYkc5zSrA/a/JpjVUzPyv4U4gqtgMdPj/F/w5sn9cYyawTJ0Op4D9YN362P5Eu/n
 BGQWGmzEXqJLe+dDD8sC3RK5ol4fdxGLAml+gSenSxX5t5ugAYOnXd5GWxfk=
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: Eli Zaretskii <eliz@HIDDEN>, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

 >> Firefox here does some strange shading before truncating.  I'm not
 >> fond of it but my version here doesn't support tab mix plus any more.
 >
 > Maybe PaleMoon still supports TabMixPlus.

The last time I used PaleMoon it had other issues (although there was
a fork of it that even worked with Windows XP).  With its new display
engine, Firefox has broken most of my old viewing habits.  By now I
got too tired of adapting.

 > Indeed fixed-width tabs in browsers help with this, but at the cost
 > of tab truncation.  Since no one wants tab truncation in Emacs, we need
 > to support hscrolling.

That's why I prefer multiline tabs.  Hscrolling always has the
potential problem that one considers things scrolled off as things
that are not present.

martin




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 17 Oct 2019 07:21:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 17 03:21:24 2019
Received: from localhost ([127.0.0.1]:47042 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iL068-0001Np-1D
	for submit <at> debbugs.gnu.org; Thu, 17 Oct 2019 03:21:24 -0400
Received: from eggs.gnu.org ([209.51.188.92]:55839)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iL064-0001Na-N1
 for 37667 <at> debbugs.gnu.org; Thu, 17 Oct 2019 03:21:21 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:60126)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iL05z-0000Va-Iw; Thu, 17 Oct 2019 03:21:15 -0400
Received: from [176.228.60.248] (port=2397 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iL05y-0000Sw-Ub; Thu, 17 Oct 2019 03:21:15 -0400
Date: Thu, 17 Oct 2019 10:20:57 +0300
Message-Id: <83blufdehy.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87pniwuwj5.fsf@HIDDEN> (message from Juri Linkov on
 Thu, 17 Oct 2019 01:39:27 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
 <87lftlk504.fsf@HIDDEN> <83eezceir2.fsf@HIDDEN>
 <87pniwuwj5.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Thu, 17 Oct 2019 01:39:27 +0300
> 
> Thanks for the explanation.  One thing that I still don't understand is
> how to find the exact position in the mode-line string where it's
> truncated.  For example, in the string "...abc|xyz", the part
> until "abc" is visible, but the rest of the string is truncated,
> so "xyz" is not visible.  How to find this position where truncation occurs?

You should look for that in the glyphs, not in the string you want to
display.

> Actually, it seems I found it, it's it.last_visible_x.  Is this correct?

it.last_visible_x is the first pixel that is _outside_ of the
viewport.  The last pixel that is still visible has X coordinate one
less than that.

Also note that when a screen line (a.k.a. "glyph row") is hscrolled,
its display doesn't starts when it.current_x is zero, it starts when
it.current_x is it.first_visible_x.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 16 Oct 2019 23:01:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 16 19:01:35 2019
Received: from localhost ([127.0.0.1]:46747 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iKsIQ-00069y-AZ
	for submit <at> debbugs.gnu.org; Wed, 16 Oct 2019 19:01:35 -0400
Received: from brown.elm.relay.mailchannels.net ([23.83.212.23]:42989)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iKsIK-00069i-L9
 for 37667 <at> debbugs.gnu.org; Wed, 16 Oct 2019 19:01:29 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 6DEE321EC8;
 Wed, 16 Oct 2019 23:01:27 +0000 (UTC)
Received: from pdx1-sub0-mail-a26.g.dreamhost.com
 (100-96-171-212.trex.outbound.svc.cluster.local [100.96.171.212])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id D440420D82;
 Wed, 16 Oct 2019 23:01:26 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a26.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Wed, 16 Oct 2019 23:01:27 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Coil-Versed: 07f30e8459a80eb0_1571266887078_2565877535
X-MC-Loop-Signature: 1571266887078:3469695171
X-MC-Ingress-Time: 1571266887078
Received: from pdx1-sub0-mail-a26.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a26.g.dreamhost.com (Postfix) with ESMTP id 8C4B7800F1;
 Wed, 16 Oct 2019 16:01:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=2n6QJoPccjsY7qdMmcLp8wyNlRU=; b=
 Mk2q2qQlPpr4z4oPQ+WKf4DYYKisVtY39VwVZ71J+I2C91qDUFxak0n1FhLxmPn/
 U1JZ38TC6kTtPC9Q4kp9os9ZZvksFWxmgWLng2FzVEwmiF+aUnnITGPVdwmvHv/a
 VT9tFZZ5KfYhhJ2s8VjlDVCY7yGCornJ+BO+wJ2DMPo=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a26.g.dreamhost.com (Postfix) with ESMTPSA id 64A28800ED;
 Wed, 16 Oct 2019 16:01:18 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a26
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
 <87lftlk504.fsf@HIDDEN> <83eezceir2.fsf@HIDDEN>
Date: Thu, 17 Oct 2019 01:39:27 +0300
In-Reply-To: <83eezceir2.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 16 Oct
 2019 19:51:29 +0300")
Message-ID: <87pniwuwj5.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> But the first question popped up quickly: I don't understand
>> how to detect the situation where the tab-line is truncated?
>
> The situation that it's truncated, or the situation that it _needs_ to
> be truncated, i.e. the next tab doesn't fit on the line?
>
> If the former, the glyph_row->truncated_on_right_p flag should be set.
> You can see it being set in display_string, which is called from
> display_mode_line.
>
> If you mean the latter, then look how the truncated_on_right_p flag is
> being set in display_line or in other similar display functions, like
> display_tab_bar_line.
>
>> And how to find the tab that is visible partially?
>> Especially when the font is variable-pitch.
>
> I think you will need to walk the glyphs in the tab-line looking for
> the last glyph whose character position has the property you put on
> tabs in tab-line (as specified in by tab-line-format).  Or maybe
> tab-line-format should put some special property on the last glyph of
> a tab, so that you could look for it more easily?
>
> Let me know if the above is not detailed enough to get you off the
> ground.

Thanks for the explanation.  One thing that I still don't understand is
how to find the exact position in the mode-line string where it's
truncated.  For example, in the string "...abc|xyz", the part
until "abc" is visible, but the rest of the string is truncated,
so "xyz" is not visible.  How to find this position where truncation occurs?

Actually, it seems I found it, it's it.last_visible_x.  Is this correct?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 16 Oct 2019 20:59:39 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 16 16:59:39 2019
Received: from localhost ([127.0.0.1]:46675 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iKqOQ-00031m-Uj
	for submit <at> debbugs.gnu.org; Wed, 16 Oct 2019 16:59:39 -0400
Received: from bonobo.elm.relay.mailchannels.net ([23.83.212.22]:44938)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iKqOO-00031d-Nj
 for 37667 <at> debbugs.gnu.org; Wed, 16 Oct 2019 16:59:37 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 5BA501A1A70;
 Wed, 16 Oct 2019 20:59:35 +0000 (UTC)
Received: from pdx1-sub0-mail-a95.g.dreamhost.com
 (100-96-4-204.trex.outbound.svc.cluster.local [100.96.4.204])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id C5AA11A1C0C;
 Wed, 16 Oct 2019 20:59:34 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a95.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Wed, 16 Oct 2019 20:59:35 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Attack-Descriptive: 2aa4ba58076c9a25_1571259575014_2663038916
X-MC-Loop-Signature: 1571259575014:855172512
X-MC-Ingress-Time: 1571259575013
Received: from pdx1-sub0-mail-a95.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a95.g.dreamhost.com (Postfix) with ESMTP id 78F9B8C06B;
 Wed, 16 Oct 2019 13:59:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=8RnNC6R4kDcAApETgxYy9Qn8EPw=; b=
 d/w+d6fX5wUXQB7uDpMESQ5ngKb8jmrK4R1up8Qny2aq/rapV4fohvT466kydYmU
 JQHrBLNSq3xC77NMJH/L58GCKnPGEairdP8TW2jRqq6nXdiV8EgnraE0ZDhO+P8Y
 yB238SsI3dirha/X730BR75pfyeNN1SX5bHH1tLcurQ=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a95.g.dreamhost.com (Postfix) with ESMTPSA id 4200C8C098;
 Wed, 16 Oct 2019 13:59:26 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a95
From: Juri Linkov <juri@HIDDEN>
To: martin rudalics <rudalics@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN>
 <8736fw5ji3.fsf@HIDDEN>
 <a04c4fa8-708f-b90d-80e5-42111350c6a3@HIDDEN>
Date: Wed, 16 Oct 2019 23:58:21 +0300
In-Reply-To: <a04c4fa8-708f-b90d-80e5-42111350c6a3@HIDDEN> (martin rudalics's
 message of "Wed, 16 Oct 2019 20:14:45 +0200")
Message-ID: <871rvc1k7m.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: Eli Zaretskii <eliz@HIDDEN>, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>> 3. Then truncate tab names to fit all tabs into the first line;
>>>
>>> Rather not.
>>
>> But all web browsers truncate tab names.
>
> Firefox here does some strange shading before truncating.  I'm not
> fond of it but my version here doesn't support tab mix plus any more.

Maybe PaleMoon still supports TabMixPlus.

>> I tried a variable-pitch font for tab bars, and it looks good
>> and makes tab widths smaller, so more tabs fits into the tab-bar.
>
> Variable sized tabs can be a pain.  When you want to kill a row of
> tabs by clicking on the "x" you have to move the mouse in between.

Indeed fixed-width tabs in browsers help with this, but at the cost
of tab truncation.  Since no one wants tab truncation in Emacs, we need
to support hscrolling.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 16 Oct 2019 18:15:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 16 14:15:05 2019
Received: from localhost ([127.0.0.1]:46505 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iKnpB-0007PZ-JK
	for submit <at> debbugs.gnu.org; Wed, 16 Oct 2019 14:15:05 -0400
Received: from mout.gmx.net ([212.227.17.20]:53851)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rudalics@HIDDEN>) id 1iKnp9-0007Oo-BW
 for 37667 <at> debbugs.gnu.org; Wed, 16 Oct 2019 14:15:03 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
 s=badeba3b8450; t=1571249689;
 bh=T4ZICO8U+ogL8NJkW0alQtglzVuV/xHV6T3HrBx1FOY=;
 h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To;
 b=Ecs/Bky/fvbyfdL1sjWmX83zzCn3U/j9/rtzRyP5Rjs6VrJTmlXfgAfMRGzdCr5Di
 9vzOVPrrQmZjAUaw2RVmFLHutWgGuu4Xc642LM4KGqnSpVnpUexdTthZ6rBFYHy5iy
 GTSzlP3Lwn0KDCE9jm0BHn7BlKO+HsgyQh8gX4Y8=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.1.100] ([212.95.5.251]) by mail.gmx.com (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mw9QC-1i2AXc3v88-00s2Xi; Wed, 16
 Oct 2019 20:14:49 +0200
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
To: Juri Linkov <juri@HIDDEN>
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN>
 <8736fw5ji3.fsf@HIDDEN>
From: martin rudalics <rudalics@HIDDEN>
Message-ID: <a04c4fa8-708f-b90d-80e5-42111350c6a3@HIDDEN>
Date: Wed, 16 Oct 2019 20:14:45 +0200
MIME-Version: 1.0
In-Reply-To: <8736fw5ji3.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: de-AT
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K1:1ERkk7jjMo+OJY+8yXcXwfk3xvgt1+ibGDCxVgbFhmv9SXyn38F
 Ze/icmifeIoPxhLa4IlrykzWMl1rMlWru0LxwiAiXi79y4iGe6jyK0hYocKvIOlDDGhhhqI
 plgdn6RFZ+8H62lJx/dmF2KFZTKMAq/jF378jqEINaHMGpfoGTj6wXoXxf/An3tia9bbCCN
 3knu6yDgHpWe76ZX/lP+Q==
X-Spam-Flag: NO
X-UI-Out-Filterresults: notjunk:1;V03:K0:Nkhqs9ktrvY=:+ygY4DR0GdLzhiUNxCroa3
 c2u4lyHdX1txLvEkuVZ0IaGLb6S53/6BssZ0jP+Urnjh99lVbnXh/BbCPsea9ELdGKFmPnX2P
 Llfg7jtxsGn4OFOFoqmhN/Zmf6WZExfmc30nHVvrkabZvPYJqwGQvrz8Fn8CG9FBMuOyOU9+I
 WWEErMO/USuM/prWghIt2uC2691wg3VOFPmEeBndAbRn/xFYqhLTEFeLM1cn5Rxkw8N5OSWXR
 Udi7oWlp4XtnhtPXVE0v9vJQbK78RBLuAQjfr2NOlchquTn4giUJ+K5D9ga5ul1CMrIwU3/AN
 U/FDxzbQzo2Y4aG++rKIy+in6pgBCW2EeWsAd5GxNjl8zAcyy9BC6Cz7tlYHo4FQzEX0qBrEB
 Twe/krxfpwdpYbxNcL/XAMFo4DvVJJdxHgVx1o2FB2B9TH36wmNevbwiZPl/OMlPpvqQFp/pz
 ylnMM1zaqdISdpRkWZXY+l3IO7sWaLni3rli5JMhMHP4UdsW722QKAL6FoYeE7k3YpsS7L0wi
 VibcF9BsUOgj/GUj3Rv+ZgULbzSz9t/MAYIlDUk0VATf1S8Gs6HCREEyJAfsrxvMqrIV6IXv4
 pWYwnufGEggjNBWoKDRmb7yqfX30rz7YNP6AIJW3RQuTf4R4FGpzwvsyG3kW3JeN/HBcnCdWt
 tS+Fe/0Jv+5ptMRgC+l/THYVnVuwpL2ChXbcN9yj6yeIaCb9XynmtVWSY5mFvYq3l5x96Cw4l
 M0D9yuQF45EU0LmR9ScyM84XaoxJPvYfupMpiFO9zefKvKATyIrhvguLi1LpC0YEAlXSUliua
 52ag0OfB2V1r5lV79uFwtEEOSvPtGzlQtlU3bbSN6ejVjpDjkB6UukAWmzI/VfGvRhMASn6i1
 TvS3I2XYU3FQlTm1nzpuFss63yux24n8qxO7FEc9EPk9J8v+izUNLwWHELXvH5/4J1GkFAc+z
 ndJGS7yd9iAJJk6MA+HhbqnHMAFQbPG89fcH5XOOyOjKF7BbaN5BwRcXCbq94MHnOeBqVemqj
 H3sT8i2/ae1rkUWQZOf52703IoUHLdeX2h524xN9lhdnpkZFnLC5vto4xYTDfSP7Sgk8izJw9
 s6/bpe9MOvMklKogBFjclDIUJ95sipBOnPs7qF5bZ2JfEgIMbljG1Vzy+QlKIZgn3KhJ0ALgc
 ySMgChRGFGmqhmoETGhpcC/3L6zlzEH1SUsgvvvkgFSCp4e9P5ZHb2dLjNEP+5/q8Y08z1BwL
 Edqsij/93hgxCL0JcGcfF1gzerfAXMB48OcLpQbKKqzS9/dregSuQTvmhCWI=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 37667
Cc: Eli Zaretskii <eliz@HIDDEN>, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

 > word-wrap wraps at word boundary that sometimes might be inside the tab name
 > when tab name contains spaces (tested frame-tabs.el on customization buffers
 > whose names contain a lot of spaces).

Right.  It probably should use U-00A0 instead.

 >>> 2. Disable wrapping to the second line since it's not supported in -nw;
 >>
 >> -nw should support it.
 >
 > Sorry, I don't understand the meaning of "should".
 > Does this mean -nw already supports it but its support is not used?

No.  I meant it should be implemented on -nw, eventually.

 >>> 3. Then truncate tab names to fit all tabs into the first line;
 >>
 >> Rather not.
 >
 > But all web browsers truncate tab names.

Firefox here does some strange shading before truncating.  I'm not
fond of it but my version here doesn't support tab mix plus any more.

 > I tried a variable-pitch font for tab bars, and it looks good
 > and makes tab widths smaller, so more tabs fits into the tab-bar.

Variable sized tabs can be a pain.  When you want to kill a row of
tabs by clicking on the "x" you have to move the mouse in between.

martin




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 16 Oct 2019 16:52:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Oct 16 12:52:00 2019
Received: from localhost ([127.0.0.1]:46450 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iKmWl-0005HO-Mj
	for submit <at> debbugs.gnu.org; Wed, 16 Oct 2019 12:51:59 -0400
Received: from eggs.gnu.org ([209.51.188.92]:58112)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iKmWj-0005HA-8I
 for 37667 <at> debbugs.gnu.org; Wed, 16 Oct 2019 12:51:58 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:46697)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iKmWe-0003kV-1Q; Wed, 16 Oct 2019 12:51:52 -0400
Received: from [176.228.60.248] (port=4955 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iKmWa-0003RY-2v; Wed, 16 Oct 2019 12:51:50 -0400
Date: Wed, 16 Oct 2019 19:51:29 +0300
Message-Id: <83eezceir2.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87lftlk504.fsf@HIDDEN> (message from Juri Linkov on
 Wed, 16 Oct 2019 01:39:39 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
 <87lftlk504.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Wed, 16 Oct 2019 01:39:39 +0300
> 
> I've started with implementing hscrolling for window tab-line
> because this is needed for both graphical displays and TTY.

Thanks.

> But the first question popped up quickly: I don't understand
> how to detect the situation where the tab-line is truncated?

The situation that it's truncated, or the situation that it _needs_ to
be truncated, i.e. the next tab doesn't fit on the line?

If the former, the glyph_row->truncated_on_right_p flag should be set.
You can see it being set in display_string, which is called from
display_mode_line.

If you mean the latter, then look how the truncated_on_right_p flag is
being set in display_line or in other similar display functions, like
display_tab_bar_line.

> And how to find the tab that is visible partially?
> Especially when the font is variable-pitch.

I think you will need to walk the glyphs in the tab-line looking for
the last glyph whose character position has the property you put on
tabs in tab-line (as specified in by tab-line-format).  Or maybe
tab-line-format should put some special property on the last glyph of
a tab, so that you could look for it more easily?

Let me know if the above is not detailed enough to get you off the
ground.

> What I'm trying to do is to hide leftmost tabs one by one until
> the current tab on the rightmost side becomes completely visible.

That will work, but it's inefficient.  Once you know the number N of
pixels are needed to show the tab you want to unhide, just walk the
glyphs of the tabs from the left edge until you find the first tab
whose horizontal position M is greater or equal to N.  then set
it->first_visible_x to that number M and display the tab line.

HTH




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 15 Oct 2019 22:46:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 15 18:46:06 2019
Received: from localhost ([127.0.0.1]:45002 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iKVZt-0005gU-O6
	for submit <at> debbugs.gnu.org; Tue, 15 Oct 2019 18:46:06 -0400
Received: from aye.elm.relay.mailchannels.net ([23.83.212.6]:57829)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iKVZq-0005fQ-0a
 for 37667 <at> debbugs.gnu.org; Tue, 15 Oct 2019 18:46:04 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id A88492C11CF;
 Tue, 15 Oct 2019 22:46:00 +0000 (UTC)
Received: from pdx1-sub0-mail-a57.g.dreamhost.com
 (100-96-92-142.trex.outbound.svc.cluster.local [100.96.92.142])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 471332C1D26;
 Tue, 15 Oct 2019 22:46:00 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a57.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Tue, 15 Oct 2019 22:46:00 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Society-Little: 5c3c0b89763a9f3f_1571179560501_1007316974
X-MC-Loop-Signature: 1571179560501:31059119
X-MC-Ingress-Time: 1571179560501
Received: from pdx1-sub0-mail-a57.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a57.g.dreamhost.com (Postfix) with ESMTP id CAEDE808E1;
 Tue, 15 Oct 2019 15:45:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=RzZW3Dx1mEVtmjQHI0JHwAmVebY=; b=
 VDTiurtn00aMkZj9s2wSiRLvsQsb1WnbSQBZtqaaA7aM7ltnXAr+2M9G+EKRcm3M
 w2jcNzvN37CmGyfiX4qPZYQQ0808U1rhjYPqBcWGnN2IToGER9myJwJUYg+Czg3E
 /IGvMCsiNjgwnGpDweb7rjKZA29EfuqqCXswJGmnSsU=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a57.g.dreamhost.com (Postfix) with ESMTPSA id 4E2FD808E8;
 Tue, 15 Oct 2019 15:45:56 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a57
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN> <83lftlg6zc.fsf@HIDDEN>
Date: Wed, 16 Oct 2019 01:39:39 +0300
In-Reply-To: <83lftlg6zc.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 15 Oct
 2019 22:10:31 +0300")
Message-ID: <87lftlk504.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> > I have one question: why menu-bar wrapping was not implemented on
>> > TTY frames so far, why the design decision was to always truncate it?
>> 
>> Most probably because the number of items on the menu bar is usually
>> small, unlike the number of tabs that can grow very large.
>
> Also, the menu bar on TTY frames originally was just a decoration: you
> couldn't do anything with it except look.  So it made little sense to
> invest in wrapping that line.  Drop-down menus on TTY frames are a
> relatively recent addition, since Emacs 24.4.

I've started with implementing hscrolling for window tab-line
because this is needed for both graphical displays and TTY.

But the first question popped up quickly: I don't understand
how to detect the situation where the tab-line is truncated?
And how to find the tab that is visible partially?
Especially when the font is variable-pitch.

What I'm trying to do is to hide leftmost tabs one by one until
the current tab on the rightmost side becomes completely visible.
Please advise.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 15 Oct 2019 19:10:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 15 15:10:46 2019
Received: from localhost ([127.0.0.1]:44858 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iKSDV-0004GG-TK
	for submit <at> debbugs.gnu.org; Tue, 15 Oct 2019 15:10:46 -0400
Received: from eggs.gnu.org ([209.51.188.92]:56352)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iKSDU-0004G1-8F
 for 37667 <at> debbugs.gnu.org; Tue, 15 Oct 2019 15:10:44 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:54999)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iKSDO-0005fg-RJ; Tue, 15 Oct 2019 15:10:38 -0400
Received: from [176.228.60.248] (port=4955 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iKSDN-0006rF-4k; Tue, 15 Oct 2019 15:10:37 -0400
Date: Tue, 15 Oct 2019 22:10:31 +0300
Message-Id: <83lftlg6zc.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: juri@HIDDEN
In-reply-to: <83mue1g845.fsf@HIDDEN> (message from Eli Zaretskii on Tue, 15
 Oct 2019 21:46:02 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
 <83mue1g845.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Date: Tue, 15 Oct 2019 21:46:02 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> 
> > From: Juri Linkov <juri@HIDDEN>
> > Cc: 37667 <at> debbugs.gnu.org
> > Date: Tue, 15 Oct 2019 21:07:14 +0300
> > 
> > I have one question: why menu-bar wrapping was not implemented on
> > TTY frames so far, why the design decision was to always truncate it?
> 
> Most probably because the number of items on the menu bar is usually
> small, unlike the number of tabs that can grow very large.

Also, the menu bar on TTY frames originally was just a decoration: you
couldn't do anything with it except look.  So it made little sense to
invest in wrapping that line.  Drop-down menus on TTY frames are a
relatively recent addition, since Emacs 24.4.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 15 Oct 2019 18:46:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 15 14:46:14 2019
Received: from localhost ([127.0.0.1]:44843 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iKRpm-0003ei-As
	for submit <at> debbugs.gnu.org; Tue, 15 Oct 2019 14:46:14 -0400
Received: from eggs.gnu.org ([209.51.188.92]:53821)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iKRpk-0003eV-Mn
 for 37667 <at> debbugs.gnu.org; Tue, 15 Oct 2019 14:46:13 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:54579)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iKRpf-0004AT-5L; Tue, 15 Oct 2019 14:46:07 -0400
Received: from [176.228.60.248] (port=3413 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iKRpe-0004Wa-Gm; Tue, 15 Oct 2019 14:46:06 -0400
Date: Tue, 15 Oct 2019 21:46:02 +0300
Message-Id: <83mue1g845.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87tv89opbh.fsf@HIDDEN> (message from Juri Linkov on
 Tue, 15 Oct 2019 21:07:14 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN> <87tv89opbh.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Tue, 15 Oct 2019 21:07:14 +0300
> 
> I have one question: why menu-bar wrapping was not implemented on
> TTY frames so far, why the design decision was to always truncate it?

Most probably because the number of items on the menu bar is usually
small, unlike the number of tabs that can grow very large.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 15 Oct 2019 18:18:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 15 14:18:08 2019
Received: from localhost ([127.0.0.1]:44814 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iKROX-0002vt-TF
	for submit <at> debbugs.gnu.org; Tue, 15 Oct 2019 14:18:08 -0400
Received: from bumble.birch.relay.mailchannels.net ([23.83.209.25]:3343)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iKROV-0002vl-K2
 for 37667 <at> debbugs.gnu.org; Tue, 15 Oct 2019 14:18:04 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 8E330600E76;
 Tue, 15 Oct 2019 18:18:02 +0000 (UTC)
Received: from pdx1-sub0-mail-a64.g.dreamhost.com
 (100-96-171-212.trex.outbound.svc.cluster.local [100.96.171.212])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 2DFEA600D04;
 Tue, 15 Oct 2019 18:18:02 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a64.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Tue, 15 Oct 2019 18:18:02 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Wiry-Lyrical: 6ef99fa41b123e24_1571163482400_1401912106
X-MC-Loop-Signature: 1571163482400:3701912914
X-MC-Ingress-Time: 1571163482400
Received: from pdx1-sub0-mail-a64.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a64.g.dreamhost.com (Postfix) with ESMTP id 3AB0B7FDBF;
 Tue, 15 Oct 2019 11:18:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=x7u6IZTSrYvqtuI5HBaKKY68oH8=; b=
 Z/1LjN00YX8eSjo6eI5BrbuisiUdqhCSDJydpCmfe+sE2vPDre92H69/ChBHT3u0
 E4XNmOSu45EjdAQ9J0SJ5y8IYarb69E3Nl0PIctXDSrtvogacoma7hZOjJgvFLs0
 6B8LPYnzBqEmKOIF71hP4a6fpZb16RSbHpSd9E5+YtU=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a64.g.dreamhost.com (Postfix) with ESMTPSA id 12F237FDAA;
 Tue, 15 Oct 2019 11:17:57 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a64
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
 <83h84agytj.fsf@HIDDEN>
Date: Tue, 15 Oct 2019 21:07:14 +0300
In-Reply-To: <83h84agytj.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 15 Oct
 2019 12:09:12 +0300")
Message-ID: <87tv89opbh.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain

> tab_bar_height calls display_tab_bar_line, which is not used on TTY
> frames.  We could make display_tab_bar_line work on TTY frames, but
> then the question becomes why have a separate display_tab_bar function
> for TTY frames instead of making redisplay_tab_bar support TTY frames
> as well.
>
> IOW, refactoring the code to have just one set of functions for both
> types of frames would make sense, but we should refactor all of it,
> not just a single function.

I have one question: why menu-bar wrapping was not implemented on
TTY frames so far, why the design decision was to always truncate it?

This illustrates the question of how the menu-bar is truncated
whereas text in buffers is wrapped:


--=-=-=
Content-Type: image/png
Content-Disposition: inline; filename=tty-menu-bar-truncated.png
Content-Transfer-Encoding: base64

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
--=-=-=
Content-Type: text/plain


Maybe for the same reason why currently the menu-bar is one-line,
the tab-bar should be one-line on TTY frames.

For the same reason the header-line is one-line too, so the tab-line
should be one-line too.  This means that we still need to find
a solution how to scroll tabs on one line.

> Add hscrolling support for pseudo-windows, I think.  It could start
> with a specialized function to hscroll just the tab-bar, then the code
> could just start displaying the tab-bar window starting at a button
> that is not necessarily the first one.

Since it's not clear how to do refactoring for multi-line tab-bar on TTY
and for multi-line tab-line, I'm going to explore the hscrolling option.

>> Does hscrolling depend on the position of point so point should be
>> moved to the current tab to center other tabs around it?
>
> I was talking about the truncation glyphs and clicking on them, not
> about automatic hscrolling when point gets too close to the window
> edge.

I started to implement adding truncation arrow buttons at both sides of
the one-line tab-bar, clicking on them will hscroll the tab-bar.

>> Also I tried to insert newlines in the tab-bar string, without success.
>
> Not sure I understand this part.  Why did you need to add newlines,
> and what didn't work when you tried?

I tried to add newlines between tabs to force moving the wrapped tab
to the beginning of the next line on multi-line tab-bar.

>> >> 6. Or even better: clicking on such arrow buttons will pop up a menu of
>> >>    remaining tabs that don't fit into one-line tab-bar.
>> >>    This is like implemented recently for Info-history where clicking on
>> >>    the tool-bar arrow pops up a menu of previous Info nodes.  The same way
>> >>    clicking on the arrows on the tab-bar could pop up a menu of tabs whose
>> >>    names don't fit into the one-line tab-bar at both sides of the current tab.
>> >
>> > I'd leave such fancy features for future releases.  Remember: we are
>> > waiting for this and other new features to reach some reasonable state
>> > in order to start the Emacs 27 release cycle.
>>
>> This is the simplest and quickest option to implement.  For Info-history
>> it took just 20 lines of Lisp code.
>
> The code could be small, but it will probably lead us down a rabbit
> hole of more discussions, bug reports and feature requests, yet more
> discussions, etc.  I'd like to stabilize this feature soon at some
> reasonable point and leave the rest to future releases.

Firefox provides both options at the same time: two arrow buttons to
hscroll tabs, and one dropdown button to pop up a menu of tabs.
It's easy to implement both.

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 15 Oct 2019 18:18:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 15 14:18:00 2019
Received: from localhost ([127.0.0.1]:44809 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iKROS-0002v4-Hz
	for submit <at> debbugs.gnu.org; Tue, 15 Oct 2019 14:18:00 -0400
Received: from dog.birch.relay.mailchannels.net ([23.83.209.48]:15344)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iKROR-0002uw-29
 for 37667 <at> debbugs.gnu.org; Tue, 15 Oct 2019 14:17:59 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 9669A50222E;
 Tue, 15 Oct 2019 18:17:57 +0000 (UTC)
Received: from pdx1-sub0-mail-a64.g.dreamhost.com
 (100-96-6-135.trex.outbound.svc.cluster.local [100.96.6.135])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 2368050155C;
 Tue, 15 Oct 2019 18:17:57 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a64.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Tue, 15 Oct 2019 18:17:57 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Power-Reaction: 657bc8696498112f_1571163477379_3085864464
X-MC-Loop-Signature: 1571163477379:385025370
X-MC-Ingress-Time: 1571163477379
Received: from pdx1-sub0-mail-a64.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a64.g.dreamhost.com (Postfix) with ESMTP id D5FBB7FDB7;
 Tue, 15 Oct 2019 11:17:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=OJq9KJDFNKtlthYv2eWOF77qbCo=; b=
 uCq78cyo11ZzJcTlLzVi1Gv5XyswkY0L8mn6UjYXe/Vb71EfjTzbI5SWV2C6Gp0t
 H81lFI1p6PGIltFuWq0tWQeVJkVsM/Q/5OzuLGhjckA+0btMEglsnhuR2pFwEpc9
 +HAoDpP+5+MqCQhiCBBwyxGVTMDYb6Zk6WPMsTaN5vY=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a64.g.dreamhost.com (Postfix) with ESMTPSA id D04A37FDBB;
 Tue, 15 Oct 2019 11:17:49 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a64
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN>
 <8736fw5ji3.fsf@HIDDEN> <83pnizkef0.fsf@HIDDEN>
 <87d0ezt7jd.fsf@HIDDEN> <835zkrhybq.fsf@HIDDEN>
 <8736fvov27.fsf@HIDDEN> <83y2xmh6cx.fsf@HIDDEN>
Date: Tue, 15 Oct 2019 20:54:10 +0300
In-Reply-To: <83y2xmh6cx.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 15 Oct
 2019 09:26:22 +0300")
Message-ID: <87o8yhrj25.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: rudalics@HIDDEN, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> > Btw, as long as we are optimizing the tab-bar appearance: I think the
>> > choice of the colors of the current and non-current tabs should be
>> > reversed: the lighter color is more appropriate for "inactive" than
>> > the darker one.  Alternatively, use some non-gray color for the
>> > current tab (I personally think these gray colors are too dull).
>>
>> The current color scheme is the same as used in Web browsers where the
>> current tab has the lighter color, so users are accustomed to such
>> palette.  Here is comparison of colors (at the bottom is Chromium):
>
> Chromium has additional visual queues for the current tab (as do other
> browsers), while we don't.

Soon I'll finish implementing the same visual cues for Emacs tabs.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 15 Oct 2019 09:09:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 15 05:09:28 2019
Received: from localhost ([127.0.0.1]:42717 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iKIpc-0001Yb-15
	for submit <at> debbugs.gnu.org; Tue, 15 Oct 2019 05:09:28 -0400
Received: from eggs.gnu.org ([209.51.188.92]:54290)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iKIpa-0001YO-OL
 for 37667 <at> debbugs.gnu.org; Tue, 15 Oct 2019 05:09:27 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:43309)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iKIpV-0004iv-5G; Tue, 15 Oct 2019 05:09:21 -0400
Received: from [176.228.60.248] (port=3830 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iKIpT-0002lJ-Nq; Tue, 15 Oct 2019 05:09:20 -0400
Date: Tue, 15 Oct 2019 12:09:12 +0300
Message-Id: <83h84agytj.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87lftnqbmg.fsf@HIDDEN> (message from Juri Linkov on
 Tue, 15 Oct 2019 00:47:51 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN> <87lftnqbmg.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Tue, 15 Oct 2019 00:47:51 +0300
> 
> >> >> 2. Disable wrapping to the second line since it's not supported in -nw;
> >> >
> >> > Why isn't it supported on TTY frames, btw?  It seemed to me that the
> >> > infrastructure is there, i.e. we can have FRAME_TAB_BAR_LINES(f) > 1,
> >> > it's just that the code doesn't consider this possibility.
> >>
> >> Is it possible for TTY frames to use the same code that implements
> >> wrapping in multi-line tab-bar on graphical displays?
> >
> > I don't think I understand the question.  Which details of wrapping
> > multi-line tab bars seem to prevent doing the same on TTY frames?
> 
> I meant using the existing function tab_bar_height whose value increases
> FRAME_TAB_BAR_LINES, but TTY doesn't use FRAME_TAB_BAR_LINES.

tab_bar_height calls display_tab_bar_line, which is not used on TTY
frames.  We could make display_tab_bar_line work on TTY frames, but
then the question becomes why have a separate display_tab_bar function
for TTY frames instead of making redisplay_tab_bar support TTY frames
as well.

IOW, refactoring the code to have just one set of functions for both
types of frames would make sense, but we should refactor all of it,
not just a single function.

> >> 5. There is another alternative: display arrow buttons on both sides
> >>    of the tab-bar, clicking on arrows will hscroll tabs.
> >
> > On GUI frames, you get this for free by using the hscrolling machinery
> > and line truncation.
> 
> What is needed to enable it?

Add hscrolling support for pseudo-windows, I think.  It could start
with a specialized function to hscroll just the tab-bar, then the code
could just start displaying the tab-bar window starting at a button
that is not necessarily the first one.

> Does hscrolling depend on the position of point so point should be
> moved to the current tab to center other tabs around it?

I was talking about the truncation glyphs and clicking on them, not
about automatic hscrolling when point gets too close to the window
edge.

> Also I tried to insert newlines in the tab-bar string, without success.

Not sure I understand this part.  Why did you need to add newlines,
and what didn't work when you tried?

> >> 6. Or even better: clicking on such arrow buttons will pop up a menu of
> >>    remaining tabs that don't fit into one-line tab-bar.
> >>    This is like implemented recently for Info-history where clicking on
> >>    the tool-bar arrow pops up a menu of previous Info nodes.  The same way
> >>    clicking on the arrows on the tab-bar could pop up a menu of tabs whose
> >>    names don't fit into the one-line tab-bar at both sides of the current tab.
> >
> > I'd leave such fancy features for future releases.  Remember: we are
> > waiting for this and other new features to reach some reasonable state
> > in order to start the Emacs 27 release cycle.
> 
> This is the simplest and quickest option to implement.  For Info-history
> it took just 20 lines of Lisp code.

The code could be small, but it will probably lead us down a rabbit
hole of more discussions, bug reports and feature requests, yet more
discussions, etc.  I'd like to stabilize this feature soon at some
reasonable point and leave the rest to future releases.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 15 Oct 2019 06:26:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 15 02:26:34 2019
Received: from localhost ([127.0.0.1]:42589 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iKGHy-0003zk-75
	for submit <at> debbugs.gnu.org; Tue, 15 Oct 2019 02:26:34 -0400
Received: from eggs.gnu.org ([209.51.188.92]:60693)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iKGHw-0003zU-Ud
 for 37667 <at> debbugs.gnu.org; Tue, 15 Oct 2019 02:26:33 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:40933)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iKGHr-00030C-4n; Tue, 15 Oct 2019 02:26:27 -0400
Received: from [176.228.60.248] (port=1791 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iKGHq-0001BE-EQ; Tue, 15 Oct 2019 02:26:26 -0400
Date: Tue, 15 Oct 2019 09:26:22 +0300
Message-Id: <83y2xmh6cx.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <8736fvov27.fsf@HIDDEN> (message from Juri Linkov on
 Tue, 15 Oct 2019 00:50:56 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN>
 <8736fw5ji3.fsf@HIDDEN> <83pnizkef0.fsf@HIDDEN>
 <87d0ezt7jd.fsf@HIDDEN> <835zkrhybq.fsf@HIDDEN>
 <8736fvov27.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: rudalics@HIDDEN, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: rudalics@HIDDEN,  37667 <at> debbugs.gnu.org
> Date: Tue, 15 Oct 2019 00:50:56 +0300
> 
> > Please make the :height attribute smaller, like 0.9.  The current
> > value of 1.1 produces too large tab names.
> 
> So I changed :height to 0.9 (tab-line tabs should have
> smaller height because they are more local).

Thanks.

> > Btw, as long as we are optimizing the tab-bar appearance: I think the
> > choice of the colors of the current and non-current tabs should be
> > reversed: the lighter color is more appropriate for "inactive" than
> > the darker one.  Alternatively, use some non-gray color for the
> > current tab (I personally think these gray colors are too dull).
> 
> The current color scheme is the same as used in Web browsers where the
> current tab has the lighter color, so users are accustomed to such
> palette.  Here is comparison of colors (at the bottom is Chromium):

Chromium has additional visual queues for the current tab (as do other
browsers), while we don't.  So the color is much less important for
the browsers than it is for us, because in Emacs the color is
currently the _only_ indication of the current tab.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 14 Oct 2019 21:53:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 14 17:53:52 2019
Received: from localhost ([127.0.0.1]:42371 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iK8Hn-0002bF-Ru
	for submit <at> debbugs.gnu.org; Mon, 14 Oct 2019 17:53:52 -0400
Received: from antelope.elm.relay.mailchannels.net ([23.83.212.4]:6990)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iK8Hm-0002b6-3H
 for 37667 <at> debbugs.gnu.org; Mon, 14 Oct 2019 17:53:50 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id E76AD1A150E;
 Mon, 14 Oct 2019 21:53:48 +0000 (UTC)
Received: from pdx1-sub0-mail-a67.g.dreamhost.com
 (100-96-60-11.trex.outbound.svc.cluster.local [100.96.60.11])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 80FA51A15AE;
 Mon, 14 Oct 2019 21:53:47 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a67.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Mon, 14 Oct 2019 21:53:48 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Stop-Gusty: 37b4e93e2bc9dbbd_1571090028780_3269658183
X-MC-Loop-Signature: 1571090028780:1573572706
X-MC-Ingress-Time: 1571090028780
Received: from pdx1-sub0-mail-a67.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a67.g.dreamhost.com (Postfix) with ESMTP id 397CA8021F;
 Mon, 14 Oct 2019 14:53:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=zMUg2D3ck3GCIEVflUnvL4TbTNI=; b=
 rxp4C4Wj0MT3R9kIGzXCnCBzi3jVl2RuKM2dI619LWfqPo0rA4lj8iKQXg312S9z
 XAC5r5wJJ8bJXWKnxhc+s1uANwPqJ+iisaZbH7HjWWrH+pxSbj8/btEf3RBmQHbp
 TwJtrD0iEi2zqjCxxtftHuM4/0eft4+f7NWfJrvsHpY=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a67.g.dreamhost.com (Postfix) with ESMTPSA id 49DB18021B;
 Mon, 14 Oct 2019 14:53:39 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a67
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN>
 <8736fw5ji3.fsf@HIDDEN> <83pnizkef0.fsf@HIDDEN>
 <87d0ezt7jd.fsf@HIDDEN> <835zkrhybq.fsf@HIDDEN>
Date: Tue, 15 Oct 2019 00:50:56 +0300
In-Reply-To: <835zkrhybq.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 14 Oct
 2019 23:22:17 +0300")
Message-ID: <8736fvov27.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: rudalics@HIDDEN, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain

>> >> I tried a variable-pitch font for tab bars, and it looks good
>> >> and makes tab widths smaller, so more tabs fits into the tab-bar.
>> >
>> > Could be a good idea.  Toolkit menu bars definitely use variable-pitch
>> > fonts on most systems.
>> 
>> So I changed tab bars to use variable-pitch fonts.
>
> Please make the :height attribute smaller, like 0.9.  The current
> value of 1.1 produces too large tab names.

So I changed :height to 0.9 (tab-line tabs should have
smaller height because they are more local).

> Btw, as long as we are optimizing the tab-bar appearance: I think the
> choice of the colors of the current and non-current tabs should be
> reversed: the lighter color is more appropriate for "inactive" than
> the darker one.  Alternatively, use some non-gray color for the
> current tab (I personally think these gray colors are too dull).

The current color scheme is the same as used in Web browsers where the
current tab has the lighter color, so users are accustomed to such
palette.  Here is comparison of colors (at the bottom is Chromium):


--=-=-=
Content-Type: image/png
Content-Disposition: inline; filename=browser_tabs.png
Content-Transfer-Encoding: base64

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
--=-=-=
Content-Type: text/plain


The only difference is that browser tabs have rounded corners.
I could finish implementing rounded corners for Emacs soon.

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 14 Oct 2019 21:53:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 14 17:53:43 2019
Received: from localhost ([127.0.0.1]:42368 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iK8Hf-0002al-DM
	for submit <at> debbugs.gnu.org; Mon, 14 Oct 2019 17:53:43 -0400
Received: from crocodile.birch.relay.mailchannels.net ([23.83.209.45]:33489)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iK8Hc-0002aa-SF
 for 37667 <at> debbugs.gnu.org; Mon, 14 Oct 2019 17:53:41 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 1C2535A13B8;
 Mon, 14 Oct 2019 21:53:39 +0000 (UTC)
Received: from pdx1-sub0-mail-a67.g.dreamhost.com
 (100-96-171-212.trex.outbound.svc.cluster.local [100.96.171.212])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id A683F5A13DE;
 Mon, 14 Oct 2019 21:53:38 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a67.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Mon, 14 Oct 2019 21:53:39 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Abaft-Troubled: 43df7fa11e0d6504_1571090018883_2104868375
X-MC-Loop-Signature: 1571090018883:1101586391
X-MC-Ingress-Time: 1571090018882
Received: from pdx1-sub0-mail-a67.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a67.g.dreamhost.com (Postfix) with ESMTP id 434E580216;
 Mon, 14 Oct 2019 14:53:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=vpOMXI2PaRZYAxKiyGTl4mPN+nw=; b=
 i+ZIhHRFnZYddrg7eF7N8GAQXYaI/FLNcqg/MneDEZJGxk+p/hshMgQVWtNyLVqq
 AJllOHpPnzrRRlz/NmkPzJ0zkS0lX0XMx/tmm7AS4O07SMIecEa0kJoTBb4klpV7
 LmCnJr6p/kPa8kLEphuDXJ3efp8VJmGVRGUu38oG28A=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a67.g.dreamhost.com (Postfix) with ESMTPSA id AAB688021D;
 Mon, 14 Oct 2019 14:53:33 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a67
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
 <83o8yjke0u.fsf@HIDDEN>
Date: Tue, 15 Oct 2019 00:47:51 +0300
In-Reply-To: <83o8yjke0u.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 14 Oct
 2019 10:00:17 +0300")
Message-ID: <87lftnqbmg.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> >> 2. Disable wrapping to the second line since it's not supported in -nw;
>> >
>> > Why isn't it supported on TTY frames, btw?  It seemed to me that the
>> > infrastructure is there, i.e. we can have FRAME_TAB_BAR_LINES(f) > 1,
>> > it's just that the code doesn't consider this possibility.
>>
>> Is it possible for TTY frames to use the same code that implements
>> wrapping in multi-line tab-bar on graphical displays?
>
> I don't think I understand the question.  Which details of wrapping
> multi-line tab bars seem to prevent doing the same on TTY frames?

I meant using the existing function tab_bar_height whose value increases
FRAME_TAB_BAR_LINES, but TTY doesn't use FRAME_TAB_BAR_LINES.

>> 5. There is another alternative: display arrow buttons on both sides
>>    of the tab-bar, clicking on arrows will hscroll tabs.
>
> On GUI frames, you get this for free by using the hscrolling machinery
> and line truncation.

What is needed to enable it?  Does hscrolling depend on the position of point
so point should be moved to the current tab to center other tabs around it?

Also I tried to insert newlines in the tab-bar string, without success.

>> 6. Or even better: clicking on such arrow buttons will pop up a menu of
>>    remaining tabs that don't fit into one-line tab-bar.
>>    This is like implemented recently for Info-history where clicking on
>>    the tool-bar arrow pops up a menu of previous Info nodes.  The same way
>>    clicking on the arrows on the tab-bar could pop up a menu of tabs whose
>>    names don't fit into the one-line tab-bar at both sides of the current tab.
>
> I'd leave such fancy features for future releases.  Remember: we are
> waiting for this and other new features to reach some reasonable state
> in order to start the Emacs 27 release cycle.

This is the simplest and quickest option to implement.  For Info-history
it took just 20 lines of Lisp code.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 14 Oct 2019 20:22:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 14 16:22:31 2019
Received: from localhost ([127.0.0.1]:41839 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iK6rP-00042I-LI
	for submit <at> debbugs.gnu.org; Mon, 14 Oct 2019 16:22:31 -0400
Received: from eggs.gnu.org ([209.51.188.92]:42098)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iK6rN-000420-BO
 for 37667 <at> debbugs.gnu.org; Mon, 14 Oct 2019 16:22:29 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:32924)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iK6rH-0002gq-St; Mon, 14 Oct 2019 16:22:23 -0400
Received: from [176.228.60.248] (port=4916 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iK6rH-0002rg-Ac; Mon, 14 Oct 2019 16:22:23 -0400
Date: Mon, 14 Oct 2019 23:22:17 +0300
Message-Id: <835zkrhybq.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87d0ezt7jd.fsf@HIDDEN> (message from Juri Linkov on
 Mon, 14 Oct 2019 23:07:50 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN>
 <8736fw5ji3.fsf@HIDDEN> <83pnizkef0.fsf@HIDDEN>
 <87d0ezt7jd.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: rudalics@HIDDEN, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: rudalics@HIDDEN,  37667 <at> debbugs.gnu.org
> Date: Mon, 14 Oct 2019 23:07:50 +0300
> 
> >> I tried a variable-pitch font for tab bars, and it looks good
> >> and makes tab widths smaller, so more tabs fits into the tab-bar.
> >
> > Could be a good idea.  Toolkit menu bars definitely use variable-pitch
> > fonts on most systems.
> 
> So I changed tab bars to use variable-pitch fonts.

Please make the :height attribute smaller, like 0.9.  The current
value of 1.1 produces too large tab names.

Btw, as long as we are optimizing the tab-bar appearance: I think the
choice of the colors of the current and non-current tabs should be
reversed: the lighter color is more appropriate for "inactive" than
the darker one.  Alternatively, use some non-gray color for the
current tab (I personally think these gray colors are too dull).

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 14 Oct 2019 20:09:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 14 16:09:02 2019
Received: from localhost ([127.0.0.1]:41813 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iK6eM-0001al-H7
	for submit <at> debbugs.gnu.org; Mon, 14 Oct 2019 16:09:02 -0400
Received: from azure.elm.relay.mailchannels.net ([23.83.212.7]:9529)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iK6eJ-0001aJ-TJ
 for 37667 <at> debbugs.gnu.org; Mon, 14 Oct 2019 16:09:00 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id BF4E2218A1;
 Mon, 14 Oct 2019 20:08:57 +0000 (UTC)
Received: from pdx1-sub0-mail-a7.g.dreamhost.com
 (100-96-4-204.trex.outbound.svc.cluster.local [100.96.4.204])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 707CD218F5;
 Mon, 14 Oct 2019 20:08:50 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a7.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Mon, 14 Oct 2019 20:08:57 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Absorbed-Vacuous: 3baee3fb3eef78fe_1571083730689_3205380253
X-MC-Loop-Signature: 1571083730689:1568469567
X-MC-Ingress-Time: 1571083730689
Received: from pdx1-sub0-mail-a7.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a7.g.dreamhost.com (Postfix) with ESMTP id A8B6B7F660;
 Mon, 14 Oct 2019 13:08:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=k3kTf3krhoKenSk9xeJGNKga1hk=; b=
 rUj9ZurQYD+1IxDEca9ETf7cxDRsghjxpmr9SXjqXcvj8h24h4uImlPNh19yzORS
 eZo42XWhKJa4J3EK50pqFyUttRxJQp46zZkQta7WuvzJxj75dZfpX/gNlMv3Z3Rv
 mRQ9V+u6N9eYkmWf0Mmc/f44v6UjhEUHyIVa7CZJCaE=
Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a7.g.dreamhost.com (Postfix) with ESMTPSA id 3E8627F65F;
 Mon, 14 Oct 2019 13:08:42 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a7
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN>
 <8736fw5ji3.fsf@HIDDEN> <83pnizkef0.fsf@HIDDEN>
Date: Mon, 14 Oct 2019 23:07:50 +0300
In-Reply-To: <83pnizkef0.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 14 Oct
 2019 09:51:47 +0300")
Message-ID: <87d0ezt7jd.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: rudalics@HIDDEN, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> BTW, is there a reason why the mode line doesn't use a variable-pitch font?
>
> By default?  It would cause unpleasant horizontal movement of text,
> e.g. when the line number changes.  Also, many variable-pitch fonts
> have a very thin glyph for SPC, so different fields could appear as a
> single field, another visual problem.
>
> Of course, nothing prevents people from customizing the face to use
> whatever font they like.

I tried to customize the mode-line face to a variable-pitch font,
and indeed glyphs not only for SPC, but for 1-character indicators '-'
and '*' that toggle e.g. writable/modification states or switch coding,
are so thin that it's hard to click them with the mouse.

There is no such problem in tabs where clicking area is wide.

>> I tried a variable-pitch font for tab bars, and it looks good
>> and makes tab widths smaller, so more tabs fits into the tab-bar.
>
> Could be a good idea.  Toolkit menu bars definitely use variable-pitch
> fonts on most systems.

So I changed tab bars to use variable-pitch fonts.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 14 Oct 2019 07:00:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 14 03:00:31 2019
Received: from localhost ([127.0.0.1]:37802 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iJuLH-0002Ss-0d
	for submit <at> debbugs.gnu.org; Mon, 14 Oct 2019 03:00:31 -0400
Received: from eggs.gnu.org ([209.51.188.92]:33645)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iJuLF-0002LL-7c
 for 37667 <at> debbugs.gnu.org; Mon, 14 Oct 2019 03:00:29 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:47416)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iJuL9-0006s8-LT; Mon, 14 Oct 2019 03:00:23 -0400
Received: from [176.228.60.248] (port=1840 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iJuL8-0000C9-L3; Mon, 14 Oct 2019 03:00:23 -0400
Date: Mon, 14 Oct 2019 10:00:17 +0300
Message-Id: <83o8yjke0u.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87sgnw2pz3.fsf@HIDDEN> (message from Juri Linkov on
 Mon, 14 Oct 2019 01:39:28 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN> <87sgnw2pz3.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Mon, 14 Oct 2019 01:39:28 +0300
> 
> >> 2. Disable wrapping to the second line since it's not supported in -nw;
> >
> > Why isn't it supported on TTY frames, btw?  It seemed to me that the
> > infrastructure is there, i.e. we can have FRAME_TAB_BAR_LINES(f) > 1,
> > it's just that the code doesn't consider this possibility.
> 
> Is it possible for TTY frames to use the same code that implements
> wrapping in multi-line tab-bar on graphical displays?

I don't think I understand the question.  Which details of wrapping
multi-line tab bars seem to prevent doing the same on TTY frames?

> >> 4. Or don't truncate but allow scrolling tabs with mouse wheel;
> >
> > Yes, this could work as well (but scrolling should be possible not
> > only with the mouse).  The implementation could simply hscroll the
> > tab-bar window, including automatic hscrolling when the current tab is
> > far from the leftmost one.  Maybe this alternative is the easiest
> > one.  The only difficulty here is with TTY frames.
> 
> Maybe after adding a new option that disables multi-line
> so tabs are displayed on one line, hscrolling could help
> to center around the current tab.

I think if we keep using multi-line tab bars, we don't need to
complicate things by hscrolling.  Not yet, anyway.

> 5. There is another alternative: display arrow buttons on both sides
>    of the tab-bar, clicking on arrows will hscroll tabs.

On GUI frames, you get this for free by using the hscrolling machinery
and line truncation.

> 6. Or even better: clicking on such arrow buttons will pop up a menu of
>    remaining tabs that don't fit into one-line tab-bar.
>    This is like implemented recently for Info-history where clicking on
>    the tool-bar arrow pops up a menu of previous Info nodes.  The same way
>    clicking on the arrows on the tab-bar could pop up a menu of tabs whose
>    names don't fit into the one-line tab-bar at both sides of the current tab.

I'd leave such fancy features for future releases.  Remember: we are
waiting for this and other new features to reach some reasonable state
in order to start the Emacs 27 release cycle.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 14 Oct 2019 06:52:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Oct 14 02:52:01 2019
Received: from localhost ([127.0.0.1]:37798 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iJuD2-0001lI-VL
	for submit <at> debbugs.gnu.org; Mon, 14 Oct 2019 02:52:01 -0400
Received: from eggs.gnu.org ([209.51.188.92]:60909)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iJuD2-0001l7-5y
 for 37667 <at> debbugs.gnu.org; Mon, 14 Oct 2019 02:52:00 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:47330)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iJuCw-00039m-DO; Mon, 14 Oct 2019 02:51:54 -0400
Received: from [176.228.60.248] (port=1327 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iJuCv-0007jc-Q5; Mon, 14 Oct 2019 02:51:54 -0400
Date: Mon, 14 Oct 2019 09:51:47 +0300
Message-Id: <83pnizkef0.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <8736fw5ji3.fsf@HIDDEN> (message from Juri Linkov on
 Mon, 14 Oct 2019 01:31:00 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN> <8736fw5ji3.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: rudalics@HIDDEN, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: Eli Zaretskii <eliz@HIDDEN>,  37667 <at> debbugs.gnu.org
> Date: Mon, 14 Oct 2019 01:31:00 +0300
> 
> BTW, is there a reason why the mode line doesn't use a variable-pitch font?

By default?  It would cause unpleasant horizontal movement of text,
e.g. when the line number changes.  Also, many variable-pitch fonts
have a very thin glyph for SPC, so different fields could appear as a
single field, another visual problem.

Of course, nothing prevents people from customizing the face to use
whatever font they like.

> I tried a variable-pitch font for tab bars, and it looks good
> and makes tab widths smaller, so more tabs fits into the tab-bar.

Could be a good idea.  Toolkit menu bars definitely use variable-pitch
fonts on most systems.

> But maybe non-monospace fonts might complicate calculation of various
> text lengths when trying to fit tabs into the tab-bar.

Emacs never assumes a face uses fixed-pitch font when it calculates
the various metrics.  So this cannot be a problem (barring bugs).




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 13 Oct 2019 23:25:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Oct 13 19:25:13 2019
Received: from localhost ([127.0.0.1]:37315 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iJnEe-0001lb-Sq
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2019 19:25:13 -0400
Received: from aye.elm.relay.mailchannels.net ([23.83.212.6]:55298)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iJnEc-0001lO-1N
 for 37667 <at> debbugs.gnu.org; Sun, 13 Oct 2019 19:25:11 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id F2EA4500F01;
 Sun, 13 Oct 2019 23:25:08 +0000 (UTC)
Received: from pdx1-sub0-mail-a75.g.dreamhost.com
 (100-96-4-204.trex.outbound.svc.cluster.local [100.96.4.204])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 8BE9A500314;
 Sun, 13 Oct 2019 23:25:08 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a75.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Sun, 13 Oct 2019 23:25:08 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Spot-Blushing: 72e85328776c2fbb_1571009108802_658014438
X-MC-Loop-Signature: 1571009108802:682585999
X-MC-Ingress-Time: 1571009108802
Received: from pdx1-sub0-mail-a75.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a75.g.dreamhost.com (Postfix) with ESMTP id 2A93486092;
 Sun, 13 Oct 2019 16:25:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=YiXAZOjeijOf3QgSPdmlc5iDZKM=; b=
 fg4/vYhFxvRaIj5+D+HzNl8CtukStb08AC2E40P55Y5+PqEqVigBJIpKU05pS8BR
 IuloWSNqyT+KeGRhDk1KK/tXS+tiJkOCZPdLDwyULgxFWDixI6WqhsWmRkkcs4nq
 0ffPADnQvHUuXyH7p8nV4EmQjn4Jto0AVAYjOmqK0h8=
Received: from mail.jurta.org (m91-129-105-34.cust.tele2.ee [91.129.105.34])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a75.g.dreamhost.com (Postfix) with ESMTPSA id 48D3A85628;
 Sun, 13 Oct 2019 16:25:00 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a75
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <83eezjrbuj.fsf@HIDDEN>
Date: Mon, 14 Oct 2019 01:39:28 +0300
In-Reply-To: <83eezjrbuj.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 11 Oct
 2019 10:16:20 +0300")
Message-ID: <87sgnw2pz3.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> 1. Use something like word-wrap in the tab-bar to wrap
>>    to the second line non-broken tabs at tab boundaries;
>
> Yes, that's a possibility and shouldn't be hard to implement.

I'd like to keep the tab-bar multi-line.  No other application has
multi-line tab-bar - no web browsers, no other editors.  This could be
a unique Emacs feature that allows easier tab switching without
truncating tab names like web browsers do.  Even now it looks good,
but could be improved to wrap tabs better.

>> 2. Disable wrapping to the second line since it's not supported in -nw;
>
> Why isn't it supported on TTY frames, btw?  It seemed to me that the
> infrastructure is there, i.e. we can have FRAME_TAB_BAR_LINES(f) > 1,
> it's just that the code doesn't consider this possibility.

Is it possible for TTY frames to use the same code that implements
wrapping in multi-line tab-bar on graphical displays?

>> 3. Then truncate tab names to fit all tabs into the first line;
>
> This is not scalable.

I see that no one likes truncation of tab names.  Maybe this is because
buffer names in Emacs usually are not too long.

>> 4. Or don't truncate but allow scrolling tabs with mouse wheel;
>
> Yes, this could work as well (but scrolling should be possible not
> only with the mouse).  The implementation could simply hscroll the
> tab-bar window, including automatic hscrolling when the current tab is
> far from the leftmost one.  Maybe this alternative is the easiest
> one.  The only difficulty here is with TTY frames.

Maybe after adding a new option that disables multi-line
so tabs are displayed on one line, hscrolling could help
to center around the current tab.

5. There is another alternative: display arrow buttons on both sides
   of the tab-bar, clicking on arrows will hscroll tabs.

6. Or even better: clicking on such arrow buttons will pop up a menu of
   remaining tabs that don't fit into one-line tab-bar.
   This is like implemented recently for Info-history where clicking on
   the tool-bar arrow pops up a menu of previous Info nodes.  The same way
   clicking on the arrows on the tab-bar could pop up a menu of tabs whose
   names don't fit into the one-line tab-bar at both sides of the current tab.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 13 Oct 2019 23:25:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Oct 13 19:25:05 2019
Received: from localhost ([127.0.0.1]:37312 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iJnEX-0001lA-Ib
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2019 19:25:05 -0400
Received: from beige.elm.relay.mailchannels.net ([23.83.212.16]:63597)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iJnEU-0001kn-U0
 for 37667 <at> debbugs.gnu.org; Sun, 13 Oct 2019 19:25:03 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id B2EFA600AFC;
 Sun, 13 Oct 2019 23:25:01 +0000 (UTC)
Received: from pdx1-sub0-mail-a75.g.dreamhost.com
 (100-96-60-11.trex.outbound.svc.cluster.local [100.96.60.11])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 4B2D5600AC6;
 Sun, 13 Oct 2019 23:25:01 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a75.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Sun, 13 Oct 2019 23:25:01 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Sponge-Fearful: 41cf5ea63d3572ac_1571009101527_3615512853
X-MC-Loop-Signature: 1571009101527:1313587700
X-MC-Ingress-Time: 1571009101526
Received: from pdx1-sub0-mail-a75.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a75.g.dreamhost.com (Postfix) with ESMTP id F042386092;
 Sun, 13 Oct 2019 16:24:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=aLZv3IRz/KEu1wqj/F2WmNfCjyQ=; b=
 hf9H/nYvoeubyIC0RoI/iqEyd37GdlCTY2jQFaHO9j71b6egRB48M2MDG1VNPIM3
 j/nbPZV1iIT37uobox2VgWPUeqUQZrzskFx29q4oTtvFgrVfsiEFx2BB8JdYy8cV
 VCvYoKgttIi5GZl34baC3ZAgpAPIXebmnM1hfYQOesM=
Received: from mail.jurta.org (m91-129-105-34.cust.tele2.ee [91.129.105.34])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a75.g.dreamhost.com (Postfix) with ESMTPSA id 20F9685628;
 Sun, 13 Oct 2019 16:24:53 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a75
From: Juri Linkov <juri@HIDDEN>
To: martin rudalics <rudalics@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
 <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN>
Date: Mon, 14 Oct 2019 01:31:00 +0300
In-Reply-To: <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN> (martin rudalics's
 message of "Fri, 11 Oct 2019 10:17:13 +0200")
Message-ID: <8736fw5ji3.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: Eli Zaretskii <eliz@HIDDEN>, 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>> 1. Use something like word-wrap in the tab-bar to wrap
>>     to the second line non-broken tabs at tab boundaries;
>
> That's what I did in frame-tabs.el.  There I tried to use U-200B as
> separator but word-wrap couldn't handle it.

word-wrap wraps at word boundary that sometimes might be inside the tab name
when tab name contains spaces (tested frame-tabs.el on customization buffers
whose names contain a lot of spaces).

>> 2. Disable wrapping to the second line since it's not supported in -nw;
>
> -nw should support it.

Sorry, I don't understand the meaning of "should".
Does this mean -nw already supports it but its support is not used?

>> 3. Then truncate tab names to fit all tabs into the first line;
>
> Rather not.

But all web browsers truncate tab names.

>> 4. Or don't truncate but allow scrolling tabs with mouse wheel;
>
> IIRC XEmacs had that with the mode line.  Not really useful IMHO.

BTW, is there a reason why the mode line doesn't use a variable-pitch font?

I tried a variable-pitch font for tab bars, and it looks good
and makes tab widths smaller, so more tabs fits into the tab-bar.

But maybe non-monospace fonts might complicate calculation of various
text lengths when trying to fit tabs into the tab-bar.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 11 Oct 2019 08:17:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 11 04:17:29 2019
Received: from localhost ([127.0.0.1]:57659 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iIq77-0007bS-Hs
	for submit <at> debbugs.gnu.org; Fri, 11 Oct 2019 04:17:29 -0400
Received: from mout.gmx.net ([212.227.17.20]:55181)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rudalics@HIDDEN>) id 1iIq76-0007b9-2U
 for 37667 <at> debbugs.gnu.org; Fri, 11 Oct 2019 04:17:28 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net;
 s=badeba3b8450; t=1570781836;
 bh=I1QZdBUSqldzHtjZnKUhUDnSfV4oSgaPvHHsib1VsKA=;
 h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To;
 b=jdmPWWS0RiZW7ENWfxP5AvNJe5eLddu856HsMNbfz02P2FCigHG/TEHmF9Uyd8OTt
 mWNnMDgv4mi+TdvsDxfF8PAoJ/KfBdJwI8XEYQKJxe5We2apGggqAjOFIz5n76DEvQ
 2ObKhbdzWWodJI7thI7m+raVIJFXrYyPepr54JlM=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [192.168.1.101] ([46.125.249.9]) by mail.gmx.com (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M7sDq-1iNlnS2oks-0051Jx; Fri, 11
 Oct 2019 10:17:16 +0200
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
To: Juri Linkov <juri@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
From: martin rudalics <rudalics@HIDDEN>
Message-ID: <276bd257-ce79-f2bc-4870-a412bc972374@HIDDEN>
Date: Fri, 11 Oct 2019 10:17:13 +0200
MIME-Version: 1.0
In-Reply-To: <87imownt6j.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: de-AT
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K1:mEgh5WL2EGrf+hBhzjLwoyazHFTG27yQwSzgiIOzDmmTsljYOjr
 bP6KaXzkO9bWhP038rWHj/gHTUcxC2dofugdc7a99ObL6ji36TLoUOsvafoQqOD0jxI1Csk
 CtM8z+bRSyfV/0UBm7H62Hji5pzSdtkirjgKuV/HrLkj6CUvrzI/WpbeatqPZqUFG+GpkeD
 4ZE7McBs+35Nqckux7psQ==
X-Spam-Flag: NO
X-UI-Out-Filterresults: notjunk:1;V03:K0:lbhHh/K+pXo=:1c3p7ic4O8kUY5kIwtFk+q
 HJWzoLmjFF8wqu8NkCYYWJDL3palUQNrwIDkhVhyeIW8MWFQLQIj5T+QovyxY7N1jt3Qi/9YO
 Wz4V+DRsBB2oPspKstddKAngnOOX4RKHmFo6LZuPEeVippTGwkYWFFQXI+lZ/498YITPX+xFw
 sXJp+eeeKcQARDf5kqtJW3tOPnW72YjXSahVxX/Ro4/+3znLZ5CLAk4Yk1wiA7cOgjZ3Yyvz0
 36n9GdyBvxOjJjLQy+FIKqr00A/yqB+FQuRt1uFukRYHgq3pphayU1Bl2OwpaAx9UQsRuvsHF
 4t5sqaFRaQ6BXVHjwYRh3LXqlsIEH4DsRJ7U4r0wbQYDsqHP+Pn93iZ5tZ9XR/tRJwpfY0d5v
 DnFAXtqWP+JNA1hBsZNF04JUJJG8JKat4MHhMPXJdNT6A1eGZJfPfuFt5WkhQ3BgkUkroI7n/
 FvgppsDholYHc6/tTcK/BC5qJ8ZukYppK86bPGSjlgWHt0xNJXPEyIqosuJ8SQ9ggPeQx2Rgd
 jwroTnLjVOZxZbiSv/FnjIpKJQKd1OGQEcIfZgSZWrXd/o5PFk/VeJT3am5XNyoUXoinCil4K
 cR0zviu+vi8Tt+juwn/L8H/g+1UW6qbjxu2wugdDjfkDYGuTJ05HCfmfSzckUeSEeBeyVpOSr
 pLDhYUYRHoLayyMtu9aMRBC7wXep21X/8UGjAQIB0AOBnFmte7aonWs4ZBLycO2B6arWuhVWn
 ti1DD2XvFD6vZ/zxXG15fadYUm7wP3nqi547bw9U+M9iek7+bkKXDyg2dhVx7hEpdugYnkvww
 LJhjMlT4hfyLw8R4y+nvmD9mWob8mii5vJIsF+mmsKOrhHxbgvxl9oWlQ4L5nfr6x4cuftfka
 +win+28kGboHph02be3ZrLDjMVGkq/YbTU2T/KiqfwB+cht2NrKjXYouwmKU95hBgXg5n4WmL
 vBzRdzVCD2ItObAnSrq0tTgQdLQhhEhPRloItefMkFQKJaUVDcfKnqD3EBR9TDomJq13w+YvO
 WeLYZMsPh5WC6mZE7k18Nzw6DS+I4buuiCZvrTsb7eH3eQfzDjKOTpqtxOwKDsVajarXYinLl
 tBAMGGek4gk1zkyJZLMLtJHELPAs6Zast1WWyAsuvV29iLg72E4ZC/Dn36ST0rRNFc7zSaOgi
 IXTYNl81t8v0Ib/Bf6xvw9S01q+CnlRDH+ghe+gpAYVDs5bxmgCiXVc6Ud4fm1EBj+F4p1aKl
 PZD3zaCG5cgDKgaefCZu5FQPeK9XL+PTwyxPaSbMYqtt1ALCpJOirx15QSs0=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

 > 1. Use something like word-wrap in the tab-bar to wrap
 >     to the second line non-broken tabs at tab boundaries;

That's what I did in frame-tabs.el.  There I tried to use U-200B as
separator but word-wrap couldn't handle it.

 > 2. Disable wrapping to the second line since it's not supported in -nw;

-nw should support it.

 > 3. Then truncate tab names to fit all tabs into the first line;

Rather not.

 > 4. Or don't truncate but allow scrolling tabs with mouse wheel;

IIRC XEmacs had that with the mode line.  Not really useful IMHO.

martin




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 11 Oct 2019 07:16:45 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 11 03:16:45 2019
Received: from localhost ([127.0.0.1]:57574 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iIpAK-0000qK-Ov
	for submit <at> debbugs.gnu.org; Fri, 11 Oct 2019 03:16:45 -0400
Received: from eggs.gnu.org ([209.51.188.92]:51245)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iIpAI-0000kT-OE
 for 37667 <at> debbugs.gnu.org; Fri, 11 Oct 2019 03:16:43 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:54804)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iIpAC-0008D3-Vw; Fri, 11 Oct 2019 03:16:37 -0400
Received: from [176.228.60.248] (port=4339 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1iIpAC-0004vk-9K; Fri, 11 Oct 2019 03:16:36 -0400
Date: Fri, 11 Oct 2019 10:16:20 +0300
Message-Id: <83eezjrbuj.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-reply-to: <87imownt6j.fsf@HIDDEN> (message from Juri Linkov on
 Fri, 11 Oct 2019 01:25:32 +0300)
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
References: <83o8yrvzgh.fsf@HIDDEN> <87imownt6j.fsf@HIDDEN>
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Juri Linkov <juri@HIDDEN>
> Cc: 37667 <at> debbugs.gnu.org
> Date: Fri, 11 Oct 2019 01:25:32 +0300
> 
> >   C-x 6 f xdisp.c RET
> >   C-x 6 f dispnew.c RET
> >   C-x 6 f dispextern.h RET
> >   C-x 6 f window.c RET
> >   C-x 6 f frame.c RET
> >
> > The 6th button is displayed partially on the 1st tab-bar line, and the
> > rest on the 2nd line, which I don't think is pretty.
> >
> > If you do the same in a -nw session, the 6th tab will not be visible
> > at all (it looks like display_tab_bar assumes there's always just one
> > tab-bar line?).
> 
> What are the possible options?
> 
> 1. Use something like word-wrap in the tab-bar to wrap
>    to the second line non-broken tabs at tab boundaries;

Yes, that's a possibility and shouldn't be hard to implement.

> 2. Disable wrapping to the second line since it's not supported in -nw;

Why isn't it supported on TTY frames, btw?  It seemed to me that the
infrastructure is there, i.e. we can have FRAME_TAB_BAR_LINES(f) > 1,
it's just that the code doesn't consider this possibility.

> 3. Then truncate tab names to fit all tabs into the first line;

This is not scalable.

> 4. Or don't truncate but allow scrolling tabs with mouse wheel;

Yes, this could work as well (but scrolling should be possible not
only with the mouse).  The implementation could simply hscroll the
tab-bar window, including automatic hscrolling when the current tab is
far from the leftmost one.  Maybe this alternative is the easiest
one.  The only difficulty here is with TTY frames.

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at 37667 <at> debbugs.gnu.org:


Received: (at 37667) by debbugs.gnu.org; 10 Oct 2019 22:47:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 10 18:47:36 2019
Received: from localhost ([127.0.0.1]:57290 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iIhDb-00048M-RU
	for submit <at> debbugs.gnu.org; Thu, 10 Oct 2019 18:47:36 -0400
Received: from butterfly.birch.relay.mailchannels.net ([23.83.209.27]:21436)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1iIhDZ-00048C-8r
 for 37667 <at> debbugs.gnu.org; Thu, 10 Oct 2019 18:47:34 -0400
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id BC1F6341B3A;
 Thu, 10 Oct 2019 22:47:31 +0000 (UTC)
Received: from pdx1-sub0-mail-a15.g.dreamhost.com
 (100-96-4-204.trex.outbound.svc.cluster.local [100.96.4.204])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 0B627340E9B;
 Thu, 10 Oct 2019 22:47:31 +0000 (UTC)
X-Sender-Id: dreamhost|x-authsender|jurta@HIDDEN
Received: from pdx1-sub0-mail-a15.g.dreamhost.com ([TEMPUNAVAIL].
 [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)
 by 0.0.0.0:2500 (trex/5.18.5); Thu, 10 Oct 2019 22:47:31 +0000
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|jurta@HIDDEN
X-MailChannels-Auth-Id: dreamhost
X-Callous-Company: 0c6290e6117dd00f_1570747651268_2398656030
X-MC-Loop-Signature: 1570747651268:1249628355
X-MC-Ingress-Time: 1570747651267
Received: from pdx1-sub0-mail-a15.g.dreamhost.com (localhost [127.0.0.1])
 by pdx1-sub0-mail-a15.g.dreamhost.com (Postfix) with ESMTP id 817AD84DD3;
 Thu, 10 Oct 2019 15:47:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc
 :subject:references:date:in-reply-to:message-id:mime-version
 :content-type; s=linkov.net; bh=PSAE/4rcqRFRUy0DOFNw3POsHU8=; b=
 jqzHNSNEUHRatW0xw/zrUZ93FaRa1V9iN+iNjz7+EOmLXfXfPdwtjBTj9eYl9WCm
 k8OLgq+1EWxFk7AldPwoxOD4B8PMsBjZ8gdcS8JuvT2/eyg71TodXu+BZZMyTQUT
 1KDBB7hnwJjHADsc1eyN5KB+GofvrLznLu13hpu+H04=
Received: from mail.jurta.org (m91-129-105-34.cust.tele2.ee [91.129.105.34])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 (Authenticated sender: jurta@HIDDEN)
 by pdx1-sub0-mail-a15.g.dreamhost.com (Postfix) with ESMTPSA id D091084DD0;
 Thu, 10 Oct 2019 15:47:23 -0700 (PDT)
X-DH-BACKEND: pdx1-sub0-mail-a15
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs
Organization: LINKOV.NET
References: <83o8yrvzgh.fsf@HIDDEN>
Date: Fri, 11 Oct 2019 01:25:32 +0300
In-Reply-To: <83o8yrvzgh.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 08 Oct
 2019 21:55:58 +0300")
Message-ID: <87imownt6j.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain
X-VR-OUT-STATUS: OK
X-VR-OUT-SCORE: -100
X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedufedrieeggddufecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddthedrfeegnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddthedrfeegpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtohepvghlihiisehgnhhurdhorhhgnecuvehluhhsthgvrhfuihiivgeptd
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 37667
Cc: 37667 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

> To reproduce, invoke Emacs from the src directory:
>
>   ./emacs -Q
>
> and then type:
>
>   C-x 6 f xdisp.c RET
>   C-x 6 f dispnew.c RET
>   C-x 6 f dispextern.h RET
>   C-x 6 f window.c RET
>   C-x 6 f frame.c RET
>
> The 6th button is displayed partially on the 1st tab-bar line, and the
> rest on the 2nd line, which I don't think is pretty.
>
> If you do the same in a -nw session, the 6th tab will not be visible
> at all (it looks like display_tab_bar assumes there's always just one
> tab-bar line?).

What are the possible options?

1. Use something like word-wrap in the tab-bar to wrap
   to the second line non-broken tabs at tab boundaries;

2. Disable wrapping to the second line since it's not supported in -nw;

3. Then truncate tab names to fit all tabs into the first line;

4. Or don't truncate but allow scrolling tabs with mouse wheel;




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 8 Oct 2019 18:56:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Oct 08 14:56:07 2019
Received: from localhost ([127.0.0.1]:51531 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1iHueU-0001s2-LF
	for submit <at> debbugs.gnu.org; Tue, 08 Oct 2019 14:56:06 -0400
Received: from lists.gnu.org ([209.51.188.17]:52933)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1iHueS-0001rv-Nv
 for submit <at> debbugs.gnu.org; Tue, 08 Oct 2019 14:56:05 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:42366)
 by lists.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>) id 1iHueR-0002wc-A8
 for bug-gnu-emacs@HIDDEN; Tue, 08 Oct 2019 14:56:04 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED,BAYES_50
 autolearn=disabled version=3.3.2
Received: from fencepost.gnu.org ([2001:470:142:3::e]:49772)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <eliz@HIDDEN>)
 id 1iHueR-0006Y5-5j
 for bug-gnu-emacs@HIDDEN; Tue, 08 Oct 2019 14:56:03 -0400
Received: from [176.228.60.248] (port=4277 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>) id 1iHueQ-0003Q3-4k
 for bug-gnu-emacs@HIDDEN; Tue, 08 Oct 2019 14:56:02 -0400
Date: Tue, 08 Oct 2019 21:55:58 +0300
Message-Id: <83o8yrvzgh.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 27.0.50; Tab Bar display problems with more than 5 tabs
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

To reproduce, invoke Emacs from the src directory:

  ./emacs -Q

and then type:

  C-x 6 f xdisp.c RET
  C-x 6 f dispnew.c RET
  C-x 6 f dispextern.h RET
  C-x 6 f window.c RET
  C-x 6 f frame.c RET

The 6th button is displayed partially on the 1st tab-bar line, and the
rest on the 2nd line, which I don't think is pretty.

If you do the same in a -nw session, the 6th tab will not be visible
at all (it looks like display_tab_bar assumes there's always just one
tab-bar line?).


In GNU Emacs 27.0.50 (build 1485, i686-pc-mingw32)
 of 2019-10-08 built on HOME-C4E4A596F7
Repository revision: f96b8fd27c382a941c52c2938544b9b0e3a2fb0e
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 5.1.2600
System Description: Microsoft Windows XP Service Pack 3 (v5.1.0.2600)

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Quit
C-x 6 <up> is undefined
C-x <tab-bar> is undefined
<tab-3> is undefined

Configured using:
 'configure -C --prefix=/d/usr --with-wide-int --with-modules
 --enable-checking=yes,glyphs 'CFLAGS=-O0 -gdwarf-4 -g3''

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY W32NOTIFY ACL GNUTLS LIBXML2
HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS JSON PDUMPER LCMS2 GMP

Important settings:
  value of $LANG: ENU
  locale-coding-system: cp1255

Major mode: C/*l

Minor modes in effect:
  bug-reference-prog-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  tab-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny format-spec rfc822 mml
mml-sec password-cache epa derived epg epg-config gnus-util rmail
rmail-loaddefs text-property-search time-date subr-x seq byte-opt gv
bytecomp byte-compile cconv mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils dired dired-loaddefs vc-git
diff-mode easy-mmode bug-reference cc-mode cc-fonts easymenu cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win
w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads w32notify w32 lcms2 multi-tty make-network-process
emacs)

Memory information:
((conses 16 102411 7725)
 (symbols 48 10315 1)
 (strings 16 26738 2116)
 (string-bytes 1 886304)
 (vectors 16 13502)
 (vector-slots 8 175153 9830)
 (floats 8 33 243)
 (intervals 40 6259 190)
 (buffers 888 17))




Acknowledgement sent to Eli Zaretskii <eliz@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#37667; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.