GNU bug report logs -
#46299
28.0.50; Value of tab-bar-show not respected in new frames.
Previous Next
Full log
Message #95 received at 46299 <at> debbugs.gnu.org (full text, mbox):
On Sat, Feb 13, 2021 at 7:33 PM Juri Linkov <juri <at> linkov.net> wrote:
>
> Hey Bastian,
>
> Thank you for working on this patch. Please prepare the ChangeLog
> commit message, so your patch could be pushed to master. Then it would be
> easier to reason about further changes and base them on the pushed version.
I will do that and set a proper patch for git am.
>
> > @@ -89,8 +89,9 @@ tab-bar-select-tab-modifiers
> > :set (lambda (sym val)
> > (set-default sym val)
> > ;; Reenable the tab-bar with new keybindings
> > - (tab-bar-mode -1)
> > - (tab-bar-mode 1))
> > + (when tab-bar-mode
> > + (tab-bar-mode -1)
> > + (tab-bar-mode 1)))
> > :group 'tab-bar
> > :version "27.1")
> >
> > This seems to fix the issue. I can't say I fully understand why
> > though. It must have something to do with running
> > tab-bar--update-tab-bar-lines in early initialization? We could also
> > wrap the call to tab-bar--update-tab-bar-lines.
>
> The problem is that currently the function tab-bar-mode contains:
>
> (if tab-bar-mode
> (tab-bar--define-keys)
> ;; Unset only keys bound by tab-bar
> (when (eq (global-key-binding [(control tab)]) 'tab-next)
> (global-unset-key [(control tab)]))
> ...
>
> If the global-unset-key part would be refactored into a separate
> function, then tab-bar-select-tab-modifiers could call two
> functions sequentially: a new function that undefines old keys,
> then the existing separate function tab-bar--define-keys
> that will define keys with customized modifier.
But how would that cause visual glitches, such as the tab bar
splitting into two lines, menu bar not showing and general visual
issues (lines jumping around etc.). This worries me a bit, because I
don't understand the problem (just worked around it by not running the
(tab-bar-mode -1) (tab-bar-mode 1) sequence. Did you try the recipe I
reported above?
This bug report was last modified 4 years and 88 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.