emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fix width tabs


From: Eli Zaretskii
Subject: Re: Fix width tabs
Date: Sun, 06 Nov 2022 12:59:42 +0200

> From: Juri Linkov <juri@linkov.net>
> Cc: orontee@gmail.com,  emacs-devel@gnu.org
> Date: Sat, 05 Nov 2022 19:12:54 +0200
> 
> >     "Automatically resize tabs on the tab bar to the fixed width.
> >   This variable is intended to solve two problems.  When switching buffers
> >   on the current tab, the tab changes its name to buffer names of
> >   various lengths, thus resizing the tab and shifting the tab positions
> >   on the tab bar.  But with the fixed width, the size of the tab name
> >   doesn't change when the tab name changes, thus keeping the fixed
> >   tab bar layout.  The second problem solved by this variable is to prevent
> >   wrapping the long tab bar to the second line, thus keeping the height of
> >   the tab bar always fixed to one line.
> >
> >   The maximum tab width is defined by the variable 
> > `tab-bar-fixed-width-max'."
> >
> > This begs the question: what is the fixed width to which the tabs are
> > resized? if it's "fixed", then the value is known in advance, right?
> > Moreover, if the tab sizes are fixed, why does the doc string say
> > "automatically resize"? "resizing" is the antithesis of "fixed width".
> 
> Maybe a better name would be `tab-bar-auto-resize'?
> But this name will be confused with the existing
> `auto-resize-tab-bars' that resizes the tab-bar's height,
> not width.

I suggest the name tab-bar-auto-width.  With the following doc string:

    Automatically resize width of tabs on tab bar to fill available tab-bar 
space.
  When non-nil, the widths of the tabs on the tab bar are automatically
  resized so that their width is evenly distributed across the tab bar.
  This keeps the widths of the tabs independent of the length of the
  buffer names shown on each tab; the tab widths change only when tabs
  are added or deleted, or when the frame's dimensions change.  This
  also avoids as much as possible wrapping a long tab bar to a second
  tab-bar line.

  The automatic resizing of tabs takes place as long as tabs are no
  wider than allowed by the value of `tab-bar-fixed-width-max', and at
  least as wide as specified by the value of `tab-bar-fixed-width-min'.

  When this variable is nil, the width of each tab is determined by the
  length of the tab's name."

OK?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]