* [BUG] Tabs and mode/header/frame-title update
@ 2019-10-20 14:26 Ingo Lohmar
2019-10-20 16:31 ` Juri Linkov
0 siblings, 1 reply; 4+ messages in thread
From: Ingo Lohmar @ 2019-10-20 14:26 UTC (permalink / raw)
To: emacs-devel
Tabs are working great, but here is one minor thing I stumbled about,
and that eventually led me to a bug:
1) The bug is: at the end of `tab-bar-rename-tab`, it should read
@@ -687,7 +687,7 @@ tab-bar-rename-tab
(funcall tab-bar-tab-name-function))))
(setf (cdr (assq 'name tab-to-rename)) tab-new-name
(cdr (assq 'explicit-name tab-to-rename)) tab-explicit-name)
- (if (tab-bar-mode)
+ (if tab-bar-mode
(force-mode-line-update)
(message "Renamed tab to '%s'" tab-new-name))))
so as not to turn on `tab-bar-mode`, but only to check its status.
2) However, I use tabs w/o tab-bar-mode and only looked at the code
above because I wondered why my frame-title (where I put the current tab
info) was not reliably updated when, eg, adding a tab.
IMO, such an update is *especially* relevant when you use the functions
without `tab-bar-mode`. But all calls to `force-mode-line-update` (at
the end of various interactive functions) are conditioned on
`tab-bar-mode`.
Since this is by no means a frequent operation, I strongly suggest
to update the modeline(/header/title) unconditionally.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] Tabs and mode/header/frame-title update
2019-10-20 14:26 [BUG] Tabs and mode/header/frame-title update Ingo Lohmar
@ 2019-10-20 16:31 ` Juri Linkov
2019-10-20 16:49 ` Ingo Lohmar
0 siblings, 1 reply; 4+ messages in thread
From: Juri Linkov @ 2019-10-20 16:31 UTC (permalink / raw)
To: Ingo Lohmar; +Cc: emacs-devel
> so as not to turn on `tab-bar-mode`, but only to check its status.
This is fixed now.
> 2) However, I use tabs w/o tab-bar-mode and only looked at the code
> above because I wondered why my frame-title (where I put the current tab
> info) was not reliably updated when, eg, adding a tab.
>
> IMO, such an update is *especially* relevant when you use the functions
> without `tab-bar-mode`. But all calls to `force-mode-line-update` (at
> the end of various interactive functions) are conditioned on
> `tab-bar-mode`.
>
> Since this is by no means a frequent operation, I strongly suggest
> to update the modeline(/header/title) unconditionally.
I tried to reproduce this, but without `tab-bar-mode` the frame-title
is still updated. Maybe this somehow depends on your settings?
Please confirm that it really updates the frame-title when you call
`force-mode-line-update` unconditionally. Then I will remove that condition.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] Tabs and mode/header/frame-title update
2019-10-20 16:31 ` Juri Linkov
@ 2019-10-20 16:49 ` Ingo Lohmar
2019-10-20 20:55 ` Juri Linkov
0 siblings, 1 reply; 4+ messages in thread
From: Ingo Lohmar @ 2019-10-20 16:49 UTC (permalink / raw)
To: emacs-devel
On Sun, Oct 20 2019 19:31 (+0300), Juri Linkov wrote:
>> 2) However, I use tabs w/o tab-bar-mode and only looked at the code
>> above because I wondered why my frame-title (where I put the current tab
>> info) was not reliably updated when, eg, adding a tab.
>>
>> IMO, such an update is *especially* relevant when you use the functions
>> without `tab-bar-mode`. But all calls to `force-mode-line-update` (at
>> the end of various interactive functions) are conditioned on
>> `tab-bar-mode`.
>>
>> Since this is by no means a frequent operation, I strongly suggest
>> to update the modeline(/header/title) unconditionally.
>
> I tried to reproduce this, but without `tab-bar-mode` the frame-title
> is still updated. Maybe this somehow depends on your settings?
Possibly relevant settings:
(setq tab-bar-close-tab-select 'left
tab-bar-new-tab-choice nil ;"clone"
tab-bar-tab-name-function #'tab-bar-tab-name-all
tab-bar-show nil) ;never auto-show
(setq frame-title-format
'("emacs --- "
((bound-and-true-p wconf-string) wconf-string)
((bound-and-true-p tab-bar-tab-name-function)
(:eval (format "%d: %s"
(tab-bar--current-tab-index)
(funcall tab-bar-tab-name-function))))
(multiple-frames " %b") ;else too busy
(global-mode-string ;time, load, battery?
(" " global-mode-string))
" "))
> Please confirm that it really updates the frame-title when you call
> `force-mode-line-update` unconditionally. Then I will remove that condition.
Just [re-]checked: The frame title is updated immediately when I delete
a tab, but not when I add a new one. In the latter case, typing 'M-x'
already triggers the update, as does switching tabs (back and forth), of
course.
When I change all (6) `force-mode-line-update` calls from interactive
functions and `eval-buffer` tab-bar.el, creating a new tab updates my
frame title immediately, indeed.
Mind you, I do /not/ claim that all these calls are strictly necessary;
it could be that for some of the commands the update is implied (I
honestly don't know). But I /do/ think that /if/ there is such a call
(as in the above 6 functions), it should definitely run
independent of `tar-bar-mode`.
Thanks for your quick fix and reply!
Ingo
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [BUG] Tabs and mode/header/frame-title update
2019-10-20 16:49 ` Ingo Lohmar
@ 2019-10-20 20:55 ` Juri Linkov
0 siblings, 0 replies; 4+ messages in thread
From: Juri Linkov @ 2019-10-20 20:55 UTC (permalink / raw)
To: Ingo Lohmar; +Cc: emacs-devel
> Possibly relevant settings:
Thanks, frame-title-format was relevant
that helped to reproduce the problem.
> Just [re-]checked: The frame title is updated immediately when I delete
> a tab, but not when I add a new one. In the latter case, typing 'M-x'
> already triggers the update, as does switching tabs (back and forth), of
> course.
I confirm that only 'C-x t 2' reproduces the problem, but not 'M-x tab-new'.
> When I change all (6) `force-mode-line-update` calls from interactive
> functions and `eval-buffer` tab-bar.el, creating a new tab updates my
> frame title immediately, indeed.
So I removed conditions from all these 6 `force-mode-line-update` calls.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-10-20 20:55 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-20 14:26 [BUG] Tabs and mode/header/frame-title update Ingo Lohmar
2019-10-20 16:31 ` Juri Linkov
2019-10-20 16:49 ` Ingo Lohmar
2019-10-20 20:55 ` Juri Linkov
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).