GNU bug report logs - #73027
Fwd: 31.0.50; tab-bar-formal-global erased global-modeline-string's mouse hover/click action menu

Previous Next

Package: emacs;

Reported by: Eval EXEC <execvy <at> gmail.com>

Date: Wed, 4 Sep 2024 14:36:02 UTC

Severity: normal

Fixed in version 30.0.60

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 73027 in the body.
You can then email your comments to 73027 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Wed, 04 Sep 2024 14:36:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Eval EXEC <execvy <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 04 Sep 2024 14:36:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Eval EXEC <execvy <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Fwd: 31.0.50; tab-bar-formal-global erased global-modeline-string's
 mouse hover/click action menu
Date: Wed, 04 Sep 2024 22:33:45 +0800
-------------------- Start of forwarded message --------------------
From: Eval EXEC <execvy <at> gmail.com>
To: emacs-devel <emacs-devel <at> gnu.org>
Subject: 31.0.50; tab-bar-formal-global erased global-modeline-string's
 mouse hover/click action menu

Hello,

I'm using tab-bar-mode, and I've included `tab-bar-format-global` in `tab-bar-format`. This displays `global-mode-string` on the tab-bar.

```elisp
(setq-default tab-bar-format
              tab-bar-format-menu-bar
              tab-bar-format-history
              tab-bar-format-tabs
              tab-bar-separator
              tab-bar-format-add-tab
              tab-bar-separator
              tab-bar-format-align-right
              tab-bar-format-global)
```

However, in `global-mode-string`, I have `mu4e`. The tab-bar seems to remove the hover and mouse click actions from `global-mode-string`.

It appears that the issue is related to the use of "ignore":
```elisp
(defun tab-bar-format-global ()
  "Produce display of `global-mode-string' in the tab bar.
When `tab-bar-format-global' is added to `tab-bar-format'
\(possibly appended after `tab-bar-format-align-right'),
then modes that display information on the mode line
using `global-mode-string' will display the same text
on the tab bar instead."
  (mapcar (lambda (string)
            `(global menu-item ,(format-mode-line string) ignore))
          global-mode-string))
```

If I remove `tab-bar-format-global` from `tab-bar-format`, the `global-mode-string` displays on the mode-line, and the `mu4e` indicator in `global-mode-string` works with mouse hover and click. I believe that if `global-mode-string` is displayed on the tab-bar, its items should also support mouse hover and click.

What do you think? How can I quickly hack the tab-bar to enable mouse
hover and click for `global-mode-string` in `tab-bar`?

Thank you.


In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.42, cairo version 1.18.0) of 2024-09-03 built on Mufasa
Repository revision: 6682d0e6c96b0279929e3f47ae0820dd8a513d4b
Repository branch: scratch/igc
Windowing system distributor 'The X.Org Foundation', version 11.0.12401000
System Description: NixOS 24.05 (Uakari)

Configured using:
 'configure 'CFLAGS=-O3 -mtune=native -march=native'
 --prefix=/home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc
 --with-mps=yes --with-imagemagick --with-modules --with-x-toolkit=gtk3
 --without-compress-install --without-toolkit-scroll-bars
 --with-native-compilation --with-mailutils
 --enable-link-time-optimization --with-tree-sitter --with-xinput2
 --with-dbus --with-native-compilation=aot
 --with-file-notification=inotify'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GSETTINGS HARFBUZZ
IMAGEMAGICK JPEG LCMS2 LIBOTF LIBXML2 MODULES MPS NATIVE_COMP NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TREE_SITTER WEBP X11
XDBE XIM XINPUT2 XPM GTK3 ZLIB

Important settings:
  value of $EMACSLOADPATH: /nix/store/r6awdsxz4r0zbj5a58c8a93asy5ciqqx-emacs-mu4e-1.12.5/share/emacs/site-lisp/elpa/mu4e-1.12.5:/nix/store/r6awdsxz4r0zbj5a58c8a93asy5ciqqx-emacs-mu4e-1.12.5/share/emacs/site-lisp:
  value of $LC_COLLATE: C
  value of $LC_MONETARY: en_US.UTF-8
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=fcitx
  locale-coding-system: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:
  savehist-mode: t
  marginalia-mode: t
  keycast-tab-bar-mode: t
  global-treesit-auto-mode: t
  restore-point-mode: t
  global-atomic-chrome-edit-mode: t
  dogears-mode: t
  elisp-autofmt-mode: t
  highlight-defined-mode: t
  copilot-mode: t
  flycheck-status-emoji-mode: t
  flycheck-pos-tip-mode: t
  tab-line-nerd-icons-global-mode: t
  global-tab-line-mode: t
  tab-line-mode: t
  project-x-mode: t
  org-roam-db-autosync-mode: t
  global-org-modern-mode: t
  mu4e-marker-icons-mode: t
  treemacs-project-follow-mode: t
  treemacs-filewatch-mode: t
  treemacs-follow-mode: t
  treemacs-git-mode: t
  treemacs-fringe-indicator-mode: t
  mu4e-modeline-mode: t
  pangu-spacing-mode: t
  breadcrumb-local-mode: t
  flycheck-mode: t
  engine-mode: t
  corfu-popupinfo-mode: t
  global-corfu-mode: t
  corfu-mode: t
  editorconfig-mode: t
  activities-tabs-mode: t
  activities-mode: t
  burly-tabs-mode: t
  global-form-feed-st-mode: t
  form-feed-st-mode: t
  eat-eshell-mode: t
  global-wakatime-mode: t
  wakatime-mode: t
  sly-symbol-completion-mode: t
  minions-mode: t
  highlight-numbers-mode: t
  hes-mode: t
  rainbow-delimiters-mode: t
  global-hungry-delete-mode: t
  hungry-delete-mode: t
  super-save-mode: t
  windmove-mode: t
  save-place-mode: t
  recentf-mode: t
  winner-mode: t
  pdf-occur-global-minor-mode: t
  persistent-scratch-autosave-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  hl-line-mode: t
  nerd-icons-completion-mode: t
  global-diff-hl-show-hunk-mouse-mode: t
  diff-hl-show-hunk-mouse-mode: t
  diff-hl-flydiff-mode: t
  diff-hl-margin-local-mode: t
  diff-hl-margin-mode: t
  global-diff-hl-mode: t
  diff-hl-mode: t
  sudo-edit-indicator-mode: t
  global-evil-surround-mode: t
  evil-surround-mode: t
  global-evil-visualstar-mode: t
  evil-visualstar-mode: t
  evil-commentary-mode: t
  global-evil-mc-mode: t
  evil-mc-mode: t
  evil-lion-mode: t
  vertico-multiform-mode: t
  vertico-mode: t
  global-evil-collection-unimpaired-mode: t
  evil-collection-unimpaired-mode: t
  buffer-face-mode: t
  TeX-PDF-mode: t
  display-line-numbers-mode: t
  electric-pair-mode: t
  global-git-commit-mode: t
  server-mode: t
  global-dash-fontify-mode: t
  dash-fontify-mode: t
  el-patch-use-package-mode: t
  global-auto-revert-mode: t
  evil-mode: t
  evil-local-mode: t
  general-override-mode: t
  which-key-mode: t
  elpaca-use-package-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: t
  buffer-read-only: t
  column-number-mode: -1
  line-number-mode: -1
  global-visual-line-mode: t
  visual-line-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  view-mode: t

Load-path shadows:
/home/exec/.emacs.d/elpaca/builds/modus-themes/theme-loaddefs hides /home/exec/.emacs.d/elpaca/builds/standard-themes/theme-loaddefs
/home/exec/.emacs.d/elpaca/builds/modus-themes/theme-loaddefs hides /home/exec/.emacs.d/elpaca/builds/ef-themes/theme-loaddefs
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig-core hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig-core
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig-conf-mode hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig-conf-mode
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig-tools hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig-tools
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig-fnmatch hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig-fnmatch
/home/exec/.emacs.d/elpaca/builds/which-key/which-key hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/which-key
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig-core-handle hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig-core-handle
/home/exec/.emacs.d/elpaca/builds/modus-themes/theme-loaddefs hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/theme-loaddefs
/home/exec/.emacs.d/elpaca/builds/editorconfig/editorconfig hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/editorconfig
/home/exec/.emacs.d/elpaca/builds/transient/transient hides /home/exec/Projects/git.savannah.gnu.org/git/emacs-build/scratch_igc/share/emacs/31.0.50/lisp/transient

Features:
(shadow sort mail-extr emacsbug html-ts-mode dired-aux nerd-icons-dired
diredfl semantic/ia semantic/analyze/refs semantic/db-find
semantic/db-ref semantic/senator semantic/decorate semantic/analyze
semantic/sort semantic/scope semantic/analyze/fcn semantic/db
semantic/ctxt semantic/format ezimage semantic/tag-ls semantic/find
semantic/symref/grep semantic/symref chatgpt polymode poly-lock
polymode-base polymode-weave polymode-export polymode-compat
polymode-methods polymode-core polymode-classes expand-region
yaml-mode-expansions subword-mode-expansions text-mode-expansions
cc-mode-expansions the-org-mode-expansions python-el-fgallina-expansions
latex-mode-expansions js2-mode-expansions js-mode-expansions
web-mode-expansions html-mode-expansions clojure-mode-expansions
er-basic-expansions expand-region-core expand-region-custom info-colors
descr-text cua-base c++-ts-mode c-ts-mode char-fold cus-start
vertico-grid dabbrev cape symbol-overlay savehist marginalia keycast
treesit-auto restore-point evil-collection-atomic-chrome atomic-chrome
dogears elisp-autofmt highlight-defined copilot copilot-balancer jsonrpc
flycheck-status-emoji flycheck-pos-tip pos-tip sideline-flycheck
go-translate gt-text-utility gt-engine-echo gt-engine-libre
gt-engine-chatgpt gt-engine-youdao gt-engine-stardict gt-engine-deepl
gt-engine-google-rpc gt-engine-google gt-engine-bing gt-extension
gt-faces gt-core gt-httpx alert gntp sdcv cap-words superword subword
transient-dwim tab-line-nerd-icons evil-collection-imenu-list imenu-list
hideshow tab-line smartparens-rust rust-utils rust-prog-mode rust-mode
rust-playpen rust-compile rust-cargo rust-common rust-rustfmt
rg-info-hack rg-menu rg-ibuffer rg-result wgrep-rg rg-history rg-header
project-x smartparens-config smartparens-javascript smartparens-rst
smartparens-org smartparens-python smartparens-markdown smartparens-text
smartparens-latex smartparens-html smartparens-go smartparens-ess
smartparens-clojure smartparens-c smartparens loadhist org-sliced-images
evil-collection-org-roam org-roam-migrate org-roam-log org-roam-mode
org-roam-capture org-roam-id org-roam-node org-roam-db
emacsql-sqlite-builtin sqlite org-roam-utils org-roam-compat org-roam
org-capture org-attach emacsql-sqlite org-journal org-crypt cal-iso
org-modern orderless mu4e-marker-icons dap-java dap-mode dap-tasks
dap-launch lsp-docker dap-overlays lsp-java treemacs-nerd-icons
lsp-treemacs lsp-treemacs-generic lsp-treemacs-themes treemacs-treelib
treemacs-git-commit-diff-mode treemacs-project-follow-mode zoom treemacs
treemacs-header-line treemacs-compatibility treemacs-mode
treemacs-bookmarks treemacs-tags treemacs-interface treemacs-persistence
treemacs-filewatch-mode treemacs-follow-mode treemacs-rendering
treemacs-annotations treemacs-async treemacs-workspaces treemacs-dom
treemacs-visuals treemacs-fringe-indicator treemacs-faces treemacs-icons
treemacs-scope treemacs-themes treemacs-core-utils pfuture
treemacs-logging treemacs-customization treemacs-macros lsp-mode
lsp-protocol network-stream consult-lsp copilot-chat copilot-chat-org
copilot-chat-markdown copilot-chat-copilot gptel-quick
go-translate-autoloads alert-autoloads gntp-autoloads sdcv-autoloads
transient-dwim-autoloads tab-line-nerd-icons-autoloads
rust-mode-autoloads rg-autoloads transient-autoloads
writeroom-mode-autoloads nov-autoloads project-x-autoloads
smartparens-autoloads org-sliced-images-autoloads
consult-org-roam-autoloads org-roam-autoloads org-journal-autoloads
org-download-autoloads org-modern-autoloads orderless-autoloads
mu4e-marker-icons-autoloads webpaste-autoloads lsp-java-autoloads
dap-mode-autoloads bui-autoloads lsp-treemacs-autoloads
lsp-docker-autoloads lsp-pyright-autoloads consult-lsp-autoloads
lsp-ui-autoloads lsp-mode-autoloads imenu-list-autoloads
copilot-chat-autoloads gptel-quick-autoloads evil-collection-rg rg piper
evil-collection-mu4e mu4e mu4e-org mu4e-notification mu4e-main smtpmail
mu4e-view mu4e-mime-parts mu4e-headers mu4e-thread mu4e-actions
mu4e-compose mu4e-draft gnus-msg gnus-art mm-uu mml2015 gnus-sum
gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud nnimap nnmail
mail-source utf7 nnoo gnus-spec gnus-int gnus-range gnus-win mu4e-search
mu4e-lists mu4e-bookmarks mu4e-mark mu4e-message flow-fill mule-util
mu4e-contacts mu4e-update mu4e-folders mu4e-context mu4e-query-items
mu4e-server mu4e-modeline mu4e-vars mu4e-helpers mu4e-config mu4e-window
ido mu4e-obsolete molecule-mode lsp hyperbole pangu-spacing breadcrumb
pr-review pr-review-render pr-review-action pr-review-input
pr-review-api pr-review-common evil-collection-forge forge-repos
forge-tablist forge-topics forge-commands forge-semi forge-bitbucket
buck forge-gogs gogs forge-gitea gtea forge-gitlab glab forge-github
ghub-graphql treepy gsexp ghub forge-notify forge-revnote forge-pullreq
forge-issue forge-topic yaml eieio-custom bug-reference forge-post
forge-repo forge forge-core forge-db closql emacsql-sqlite-common
emacsql emacsql-compiler eieio-base cargo-mode
evil-collection-markdown-mode markdown-mode gptel-transient gptel-ollama
gptel gptel-org gptel-openai gotest fzf sideline flycheck-inline
quick-peek consult-flycheck evil-collection-flycheck flycheck
engine-mode evil-collection-ement ement-room-list ement
ement-notifications ement-notify notifications ement-room ement-lib
ement-api ement-structs ement-macros taxy-magit-section taxy dns ellama
llm-ollama llm-provider-utils llm-request-plz plz-event-source
plz-media-type plz llm corfu-terminal popon corfu-popupinfo kind-icon
svg-lib evil-collection-corfu corfu editorconfig editorconfig-core
editorconfig-core-handle editorconfig-fnmatch clojure-ts-mode
chatgpt-shell shell-maker ielm evil-collection-eshell em-prompt eshell
esh-mode esh-var esh-cmd esh-ext esh-proc esh-opt esh-io esh-arg
esh-module esh-module-loaddefs esh-util activities-tabs activities
cnfonts burly-tabs burly frameset prism compile-multi form-feed-st
google-this echo-bar evil-collection-eat eat term/xterm xterm
evil-collection-term term ehelp evil-collection-python python
evil-collection-cider cider tramp-sh cider-debug cider-browse-ns
cider-mode cider-xref-backend cider-find cider-inspector
cider-completion cider-profile cider-eval cider-jar cider-repl-history
pulse cider-repl cider-resolve cider-test cider-overlays
cider-stacktrace cider-doc cider-browse-spec cider-clojuredocs
cider-eldoc cider-docstring cider-client cider-common
cider-completion-context cider-connection cider-popup sesman-browser
nrepl-client cider-util sesman queue nrepl-dict clojure-mode parseedn
parseclj-parser parseclj-lex parseclj-alist ox-reveal ox-odt rng-loc
rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns
nxml-enc xmltok nxml-util ox-latex ox-icalendar org-agenda ox-html table
ox-ascii ox-publish ox org-element org-persist org-id org-refile
org-element-ast inline avl-tree htmlize wakatime-mode
evil-collection-explain-pause-mode explain-pause-mode explain-pause-top
explain-pause-log-to-socket evil-collection-profiler profiler
weather-metno solar cal-dst url-cache display-wttr kdeconnect vuiet
evil-collection-ivy ivy delsel ivy-faces ivy-overlay colir mpv org-timer
org-clock evil-collection-org org ob ob-tangle ob-ref ob-lob ob-table
ob-exp org-macro org-src ob-comint org-pcomplete org-list org-footnote
org-faces org-entities org-version ob-emacs-lisp ob-core ob-eval
org-cycle org-table ol org-fold org-fold-core org-keys oc org-loaddefs
org-compat org-macs versuri esqlite pcsv esxml-query lastfm elquery
memoize anaphora spotify crux pest-mode popwin modus-themes
blackboard-theme standard-themes nimbus-theme tok-theme
danneskjold-theme srcery-theme subatomic256-theme iscroll xml+
multiple-cursors mc-separate-operations rectangular-region-mode
mc-mark-pop mc-edit-lines mc-hide-unmatched-lines-mode mc-mark-more
sgml-mode mc-cycle-cursors multiple-cursors-core
evil-textobj-tree-sitter evil-textobj-tree-sitter-thing-at-point
evil-textobj-tree-sitter-core citre citre-xref-adapter citre-global
citre-tags citre-ctags citre-readtags citre-readtags-tables
citre-ui-peek citre-ui-jump citre-backend-interface citre-common-tag
citre-common-util ctable line-reminder ov ht fringe-helper
solarized-theme solarized solarized-faces vscode-dark-plus-theme
gruvbox-theme gruvbox sqlup-mode evil-collection-bm bm simplicity-theme
twilight-bright-theme flatui-theme zen-mode origami origami-parsers cl
evil-collection-sly sly sly-completion sly-buttons sly-messages
sly-common evil-collection-apropos apropos evil-collection-arc-mode
arc-mode archive-mode hyperspec sicp dired-hacks dired-preview morlock
sexy-monochrome-theme nofrils-acme-theme inverse-acme-theme acme-theme
dracula-theme professional-theme plan9-theme ayu-theme base16-theme
idea-darkula-theme hybrid-reverse-theme sublime-themes material-theme
doom-themes doom-themes-base diminish nyan-mode organic-green-theme
inkpot-theme github-dark-vscode-theme almost-mono-themes cyberpunk-theme
soothe-theme soothe-tva zenburn-theme mindre-theme kaolin-themes
kaolin-themes-lib tron-legacy-theme wildcharm-theme atom-one-dark-theme
parchment-theme autothemer visual-fill-column transpose-frame cyphejor
minions gameoflife evil-collection-docker docker docker-context
docker-volume docker-network docker-image docker-container docker-faces
docker-core docker-compose docker-process docker-utils docker-group
dockerfile-mode evil-collection-sh-script sh-script executable
emacs-everywhere cus-dir empv yeetube yeetube-mpv socks dumb-jump
evil-collection-popup popup websocket bindat bing-dict bing-dict-cache
hl-todo atom-dark-theme ef-themes uwu-theme vagrant evil-collection-ag
ag vc-svn find-dired alarm-clock pinentry evil-collection-hackernews
hackernews evil-collection-notmuch notmuch notmuch-tree notmuch-jump
notmuch-hello notmuch-show notmuch-print notmuch-crypto notmuch-mua
notmuch-message notmuch-draft notmuch-maildir-fcc notmuch-address
notmuch-company notmuch-parser notmuch-wash coolj goto-addr icalendar
diary-lib diary-loaddefs notmuch-tag notmuch-lib notmuch-compat mm-view
mml-smime smime gnutls dig fussy flx affe clang-format apheleia
apheleia-rcs apheleia-dp apheleia-formatters apheleia-utils apheleia-log
apheleia-formatter-context vimrc-mode netease-cloud-music
netease-cloud-music-functions gnuplot olivetti highlight-numbers
parent-mode highlight-escape-sequences rainbow-delimiters
evil-collection-hungry-delete hungry-delete super-save
evil-collection-helpful helpful cc-langs trace cl-print
evil-collection-edebug edebug evil-collection-debug debug backtrace
info-look evil-collection-info info help-fns radix-tree solidity-mode
solidity-common evil-collection-git-timemachine git-timemachine web-mode
disp-table adoc-mode tempo evil-collection-go-mode go-mode find-file
evil-collection-js2-mode js2-mode etags fileloop evil-collection-xref
xref gptel-autoloads gotest-autoloads fzf-autoloads
sideline-flycheck-autoloads sideline-autoloads flycheck-inline-autoloads
quick-peek-autoloads flycheck-pos-tip-autoloads pos-tip-autoloads
flycheck-status-emoji-autoloads consult-flycheck-autoloads
flycheck-autoloads engine-mode-autoloads ement-autoloads
taxy-magit-section-autoloads taxy-autoloads ellama-autoloads
llm-autoloads plz-autoloads dogears-autoloads corfu-terminal-autoloads
popon-autoloads corfu-autoloads copilot-autoloads editorconfig-autoloads
clojure-ts-mode-autoloads chatgpt-shell-autoloads shell-maker-autoloads
breadcrumb-autoloads treemacs-nerd-icons-autoloads treemacs-autoloads
pfuture-autoloads cfrs-autoloads activities-autoloads cargo-autoloads
pr-review-autoloads forge-autoloads closql-autoloads emacsql-autoloads
ghub-autoloads treepy-autoloads markdown-mode-autoloads yaml-autoloads
cnfonts-autoloads bufler-autoloads burly-autoloads
pretty-hydra-autoloads prism-autoloads compile-multi-autoloads
form-feed-st-autoloads google-this-autoloads echo-bar-autoloads
zoom-autoloads eat-autoloads vterm-autoloads chatgpt-autoloads
polymode-autoloads cider-autoloads clojure-mode-autoloads
parseedn-autoloads parseclj-autoloads queue-autoloads sesman-autoloads
ox-reveal-autoloads htmlize-autoloads wordreference-autoloads
wakatime-mode-autoloads explain-pause-mode-autoloads
weather-metno-autoloads display-wttr-autoloads kdeconnect-autoloads
vuiet-autoloads lastfm-autoloads memoize-autoloads elquery-autoloads
versuri-autoloads anaphora-autoloads esxml-autoloads kv-autoloads
esqlite-autoloads pcsv-autoloads ivy-autoloads emms-autoloads
spotify-autoloads crux-autoloads pest-mode-autoloads popwin-autoloads
modus-themes-autoloads blackboard-theme-autoloads
standard-themes-autoloads nimbus-theme-autoloads tok-theme-autoloads
danneskjold-theme-autoloads srcery-theme-autoloads
subatomic256-theme-autoloads iscroll-autoloads xml+-autoloads
multiple-cursors-autoloads evil-textobj-tree-sitter-autoloads
evil-numbers-autoloads citre-autoloads ctable-autoloads
line-reminder-autoloads fringe-helper-autoloads ov-autoloads
solarized-theme-autoloads vscode-dark-plus-theme-autoloads
gruvbox-theme-autoloads sqlup-mode-autoloads bm-autoloads
simplicity-theme-autoloads twilight-bright-theme-autoloads
flatui-theme-autoloads zen-mode-autoloads origami-autoloads
sly-autoloads expand-region-autoloads dired-hacks-autoloads
dired-preview-autoloads diredfl-autoloads morlock-autoloads
highlight-defined-autoloads sexy-monochrome-theme-autoloads
nofrils-acme-theme-autoloads inverse-acme-theme-autoloads
acme-theme-autoloads dracula-theme-autoloads
professional-theme-autoloads plan9-theme-autoloads ayu-theme-autoloads
base16-theme-autoloads idea-darkula-theme-autoloads
hybrid-reverse-theme-autoloads sublime-themes-autoloads
material-theme-autoloads doom-themes-autoloads diminish-autoloads
nyan-mode-autoloads organic-green-theme-autoloads inkpot-theme-autoloads
github-dark-vscode-theme-autoloads almost-mono-themes-autoloads
cyberpunk-theme-autoloads soothe-theme-autoloads zenburn-theme-autoloads
mindre-theme-autoloads kaolin-themes-autoloads
tron-legacy-theme-autoloads wildcharm-theme-autoloads
atom-one-dark-theme-autoloads parchment-theme-autoloads
autothemer-autoloads visual-fill-column-autoloads
transpose-frame-autoloads cyphejor-autoloads minions-autoloads
gameoflife-autoloads docker-autoloads dockerfile-mode-autoloads
emacs-everywhere-autoloads cus-dir-autoloads empv-autoloads
yeetube-autoloads makefile-executor-autoloads dumb-jump-autoloads
popup-autoloads bing-dict-autoloads hl-todo-autoloads
atom-dark-theme-autoloads ef-themes-autoloads uwu-theme-autoloads
vagrant-autoloads ag-autoloads alarm-clock-autoloads pinentry-autoloads
hackernews-autoloads notmuch-autoloads fussy-autoloads flx-autoloads
affe-autoloads clang-format-autoloads apheleia-autoloads
elisp-autofmt-autoloads vimrc-mode-autoloads
netease-cloud-music-autoloads mpv-autoloads gnuplot-autoloads
mermaid-mode-autoloads atomic-chrome-autoloads websocket-autoloads
restore-point-autoloads pangu-spacing-autoloads ace-window-autoloads
avy-autoloads olivetti-autoloads hungry-delete-autoloads
super-save-autoloads helpful-autoloads solidity-mode-autoloads
git-timemachine-autoloads treesit-auto-autoloads web-mode-autoloads
adoc-mode-autoloads go-mode-autoloads js2-mode-autoloads
cargo-mode-autoloads rust-playground-autoloads consult-gh-autoloads
consult-dir-autoloads consult-ag-autoloads vertico-posframe-autoloads
windmove evil-collection-ediff ediff ediff-merg ediff-mult ediff-wind
ediff-diff ediff-help ediff-init ediff-util consult-ripgrep-all dired-x
evil-collection-eww eww url-queue epa-file saveplace recentf tree-widget
winner edit-list refine loop list-utils evil-collection-leetcode
leetcode log4e spinner aio graphql mm-url evil-collection-gnus gnus
nnheader range prompts file-info browse-at-remote f image-roll toc-mode
evil-collection-pdf pdf-history pdf-occur ibuf-ext pdf-isearch let-alist
pdf-misc pdf-loader pdf-tools pdf-view jka-compr pdf-cache pdf-info
pdf-util pdf-macs evil-collection-image image-mode exif rst
ibuffer-sidebar evil-collection-ibuffer ibuffer ibuffer-loaddefs scratch
sql evil-collection-view view persistent-scratch exercism persist
async-await iter2 generator promise url-http url-auth url-gw nsm
promise-rejection-tracking promise-finally promise-done
promise-es6-extensions promise-core async request a indent-bars
evil-collection-outline noutline outline mode-line-bell powerthesaurus
jeison evil-collection-consult consult evil-collection-ripgrep ripgrep
evil-collection-wgrep wgrep evil-collection-grep grep yasnippet-capf
yasnippet-snippets yasnippet evil-collection-vlf vlf vlf-base vlf-tune
gptai ctrlf hl-line nerd-icons-completion disable-mouse mingus libmpdee
evil-collection-mpdel mpdel mpdel-browser libmpdel-directory
mpdel-playlist mpdel-tablist mpdel-song mpdel-core navigel
evil-collection-bookmark magit-bookmark bookmark evil-collection-tablist
tablist tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet libmpdel tq
time-stamp exwm exwm-input xcb-keysyms xcb-xkb exwm-manage exwm-floating
xcb-cursor xcb-render exwm-layout exwm-workspace exwm-core xcb-ewmh
xcb-icccm xcb xcb-xproto xcb-types xcb-debug posframe esup esup-child
ssh-config-mode jq-mode json-mode json-snatcher js c-ts-common treesit
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs evil-collection-yaml-mode yaml-mode toml-mode conf-mode
align evil-collection-elisp-refs elisp-refs s highlight facemenu
diff-hl-show-hunk diff-hl-inline-popup diff-hl-flydiff diff-hl-margin
diff-hl-dired evil-collection-diff-hl diff-hl evil-collection-log-view
log-view evil-collection-vc-dir vc-dir ewoc nix-mode ffap smie nix-repl
nix-shell nix-store nix-log nix-instantiate nix-shebang nix-format nix
sudo-edit tramp trampver tramp-integration files-x tramp-message
tramp-compat xdg parse-time iso8601 tramp-loaddefs
evil-collection-devdocs devdocs zig-mode reformatter
evil-terminal-cursor-changer evil-surround evil-visualstar
evil-commentary evil-commentary-integration evil-collection-evil-mc
evil-mc evil-mc-command-execute evil-mc-command-record
evil-mc-cursor-make evil-mc-region evil-mc-cursor-state evil-mc-undo
evil-mc-vars evil-mc-known-commands evil-mc-common evil-exchange
evil-lion evil-args smartscan timeout ess lisp-mnt ess-utils ess-custom
vertico-multiform evil-collection-vertico vertico
evil-collection-unimpaired evil-collection-which-key
evil-collection-vc-git evil-collection-tabulated-list
evil-collection-tab-bar evil-collection-simple evil-collection-replace
evil-collection-process-menu evil-collection-package-menu
evil-collection-minibuffer evil-collection-magit-section
evil-collection-magit-repos evil-collection-magit evil-collection-man
evil-collection-log-edit evil-collection-kmacro evil-collection-indent
evil-collection-imenu evil-collection-help evil-collection-flymake
evil-collection-epa evil-collection-elisp-mode evil-collection-eldoc
evil-collection-elpaca evil-collection-dired evil-collection-diff-mode
evil-collection-custom evil-collection-compile evil-collection-comint
evil-collection-calendar evil-collection-buff-menu evil-collection
annalist sqlite3 sqlite3-api treebundel vc-git minimap git-link texfrag
face-remap shr pixel-fill kinsoku url-file svg dom preview latex
latex-flymake flymake project compile tex-ispell tex-style tex dbus xml
texmathp auctex display-line-numbers elec-pair find-func
magit-file-icons nerd-icons nerd-icons-faces nerd-icons-data
nerd-icons-data-mdicon nerd-icons-data-flicon nerd-icons-data-codicon
nerd-icons-data-devicon nerd-icons-data-sucicon nerd-icons-data-wicon
nerd-icons-data-faicon nerd-icons-data-powerline nerd-icons-data-octicon
nerd-icons-data-pomicon nerd-icons-data-ipsicon el-patch-template
magit-delta magit-submodule magit-blame magit-stash magit-reflog
magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs magit-status
magit package url-handlers magit-repos magit-apply magit-wip magit-log
which-func imenu magit-diff smerge-mode diff diff-mode track-changes
git-commit log-edit message sendmail yank-media puny dired
dired-loaddefs rfc822 mml mml-sec epa epg rfc6068 epg-config gnus-util
text-property-search time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev
mail-utils gmm-utils mailheader pcvs-util add-log magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
shell pcomplete comint ansi-osc server magit-mode browse-url magit-git
magit-base magit-section derived benchmark cursor-sensor crm dash compat
xterm-color edit-list-autoloads refine-autoloads list-utils-autoloads
loop-autoloads leetcode-autoloads graphql-autoloads spinner-autoloads
aio-autoloads log4e-autoloads prompts-autoloads file-info-autoloads
hydra-autoloads lv-autoloads browse-at-remote-autoloads
image-roll-autoloads saveplace-pdf-view-autoloads pdfgrep-autoloads
toc-mode-autoloads pdf-tools-autoloads ibuffer-sidebar-autoloads
scratch-autoloads persistent-scratch-autoloads exercism-autoloads
a-autoloads request-autoloads async-autoloads async-await-autoloads
promise-autoloads iter2-autoloads persist-autoloads
indent-bars-autoloads rainbow-delimiters-autoloads
mode-line-bell-autoloads powerthesaurus-autoloads transient format-spec
hydra lv jeison-autoloads keycast-autoloads yasnippet-snippets-autoloads
ripgrep-autoloads wgrep-autoloads yasnippet-capf-autoloads
yasnippet-autoloads cape-autoloads kind-icon-autoloads svg-lib-autoloads
vlf-autoloads gptai-autoloads popper-autoloads ctrlf-autoloads
nerd-icons-dired-autoloads nerd-icons-completion-autoloads
marginalia-autoloads embark-consult-autoloads consult-autoloads
embark-autoloads disable-mouse-autoloads mingus-autoloads
libmpdee-autoloads mpdel-autoloads libmpdel-autoloads navigel-autoloads
tablist-autoloads exwm-autoloads xelb-autoloads posframe-autoloads
esup-autoloads quickrun-autoloads ht-autoloads ssh-config-mode-autoloads
jq-mode-autoloads json-mode-autoloads json-snatcher-autoloads
yaml-mode-autoloads toml-mode-autoloads elisp-refs-autoloads
symbol-overlay-autoloads highlight-escape-sequences-autoloads
highlight-autoloads highlight-numbers-autoloads parent-mode-autoloads
diff-hl-autoloads nix-mode-autoloads sudo-edit-autoloads
attrap-autoloads f-autoloads s-autoloads devdocs-autoloads
zig-mode-autoloads reformatter-autoloads
evil-terminal-cursor-changer-autoloads evil-surround-autoloads
evil-visualstar-autoloads evil-commentary-autoloads evil-mc-autoloads
evil-exchange-autoloads evil-lion-autoloads evil-args-autoloads
smartscan-autoloads timeout-autoloads ess-autoloads vertico-autoloads
info-colors-autoloads evil-collection-autoloads annalist-autoloads
sqlite3-autoloads treebundel-autoloads minimap-autoloads
git-link-autoloads texfrag-autoloads auctex-autoloads tex-site
magit-file-icons-autoloads nerd-icons-autoloads el-patch-autoloads
el-patch el-patch-stub magit-delta-autoloads magit-autoloads
git-commit-autoloads magit-section-autoloads dash-autoloads
with-editor-autoloads xterm-color-autoloads ispell man ansi-color
autorevert filenotify cal-menu calendar cal-loaddefs evil
evil-integration evil-maps evil-commands evil-digraphs pcase reveal
evil-jumps evil-command-window evil-types evil-search evil-ex
evil-macros evil-repeat evil-states evil-core comp comp-cstr warnings
comp-run comp-common rx advice evil-common thingatpt rect evil-vars ring
goto-chg evil-autoloads goto-chg-autoloads general which-key
sanityinc-tomorrow-bright-theme color-theme-sanityinc-tomorrow color
general-autoloads which-key-autoloads
color-theme-sanityinc-tomorrow-autoloads edmacro kmacro vc vc-dispatcher
cl-extra help-mode elpaca-use-package use-package use-package-ensure
use-package-delight use-package-diminish use-package-bind-key bind-key
easy-mmode use-package-core elpaca-use-package-autoloads elpaca-log
elpaca-ui url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util url-parse auth-source
eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv
bytecomp byte-compile url-vars mailcap cl-seq elpaca elpaca-process
elpaca-autoloads early-init cus-edit pp cus-load icons wid-edit
cl-loaddefs cl-lib rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset
image regexp-opt fringe tabulated-list replace newcomment text-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine 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 emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo gtk
x-toolkit xinput2 x multi-tty move-toolbar make-network-process
native-compile mps emacs)

Memory information:
((conses 24 0 0) (symbols 56 0 0) (strings 40 0 0) (string-bytes 1 0)
 (vectors 24 0) (vector-slots 8 0 0) (floats 24 0 0)
 (intervals 64 0 0) (buffers 1000 0))

-- 
-------------------- End of forwarded message --------------------

-- 




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Wed, 04 Sep 2024 16:17:02 GMT) Full text and rfc822 format available.

Message #8 received at 73027 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Eval EXEC <execvy <at> gmail.com>
Cc: 73027 <at> debbugs.gnu.org
Subject: Re: bug#73027: Fwd: 31.0.50; tab-bar-formal-global erased
 global-modeline-string's mouse hover/click action menu
Date: Wed, 04 Sep 2024 19:10:05 +0300
> I'm using tab-bar-mode, and I've included `tab-bar-format-global` in
> `tab-bar-format`.  This displays `global-mode-string` on the tab-bar.
>
> However, in `global-mode-string`, I have `mu4e`.  The tab-bar seems to
> remove the hover and mouse click actions from `global-mode-string`.

Please show your `global-mode-string` with `mu4e` in it.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Wed, 04 Sep 2024 16:30:02 GMT) Full text and rfc822 format available.

Message #11 received at 73027 <at> debbugs.gnu.org (full text, mbox):

From: Eval EXEC <execvy <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: 73027 <at> debbugs.gnu.org
Subject: Re: bug#73027: Fwd: 31.0.50; tab-bar-formal-global erased
 global-modeline-string's mouse hover/click action menu
Date: Thu, 05 Sep 2024 00:27:01 +0800
Juri Linkov <juri <at> linkov.net> writes:

>> I'm using tab-bar-mode, and I've included `tab-bar-format-global` in
>> `tab-bar-format`.  This displays `global-mode-string` on the tab-bar.
>>
>> However, in `global-mode-string`, I have `mu4e`.  The tab-bar seems to
>> remove the hover and mouse click actions from `global-mode-string`.
>
> Please show your `global-mode-string` with `mu4e` in it.

-- 

I execute describe-variable global-mode-string, it's:

global-mode-string is a variable defined in xdisp.c.

Value
((:eval (mu4e--modeline-string)) (t (:eval (lsp--progress-status)))
 ((t lsp-java-progress-string)) (:eval (exec/git-mode-string))
 (:eval (exec/gc-mode-string)) flycheck-mode-line)





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Thu, 05 Sep 2024 06:38:01 GMT) Full text and rfc822 format available.

Message #14 received at 73027 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Eval EXEC <execvy <at> gmail.com>
Cc: 73027 <at> debbugs.gnu.org
Subject: Re: bug#73027: Fwd: 31.0.50; tab-bar-formal-global erased
 global-modeline-string's mouse hover/click action menu
Date: Thu, 05 Sep 2024 09:34:20 +0300
>>> I'm using tab-bar-mode, and I've included `tab-bar-format-global` in
>>> `tab-bar-format`.  This displays `global-mode-string` on the tab-bar.
>>>
>>> However, in `global-mode-string`, I have `mu4e`.  The tab-bar seems to
>>> remove the hover and mouse click actions from `global-mode-string`.
>>
>> Please show your `global-mode-string` with `mu4e` in it.
>
> I execute describe-variable global-mode-string, it's:
>
> global-mode-string is a variable defined in xdisp.c.
>
> Value
> ((:eval (mu4e--modeline-string)) (t (:eval (lsp--progress-status)))
>  ((t lsp-java-progress-string)) (:eval (exec/git-mode-string))
>  (:eval (exec/gc-mode-string)) flycheck-mode-line)

Also please eval these calls and show their return values.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Thu, 05 Sep 2024 08:26:02 GMT) Full text and rfc822 format available.

Message #17 received at 73027 <at> debbugs.gnu.org (full text, mbox):

From: Eval EXEC <execvy <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: 73027 <at> debbugs.gnu.org
Subject: Re: bug#73027: Fwd: 31.0.50; tab-bar-formal-global erased
 global-modeline-string's mouse hover/click action menu
Date: Thu, 05 Sep 2024 16:23:33 +0800
Juri Linkov <juri <at> linkov.net> writes:

>>>> I'm using tab-bar-mode, and I've included `tab-bar-format-global` in
>>>> `tab-bar-format`.  This displays `global-mode-string` on the tab-bar.
>>>>
>>>> However, in `global-mode-string`, I have `mu4e`.  The tab-bar seems to
>>>> remove the hover and mouse click actions from `global-mode-string`.
>>>
>>> Please show your `global-mode-string` with `mu4e` in it.
>>
>> I execute describe-variable global-mode-string, it's:
>>
>> global-mode-string is a variable defined in xdisp.c.
>>
>> Value
>> ((:eval (mu4e--modeline-string)) (t (:eval (lsp--progress-status)))
>>  ((t lsp-java-progress-string)) (:eval (exec/git-mode-string))
>>  (:eval (exec/gc-mode-string)) flycheck-mode-line)
>
> Also please eval these calls and show their return values.

1. (mu4e--modeline-string) :

#(" 🌀0/0 " 1 2 (help-echo "mu4e favorite bookmark 'Unread messages':
	flag:unread

number of matches: 0
unread messages: 0
changes since baseline: +0
" mouse-face mode-line-highlight keymap (mode-line keymap (mouse-1 . mu4e-jump-to-favorite) (mouse-2 . mu4e-jump-to-favorite) (mouse-3 . mu4e-jump-to-favorite))) 2 3 (mouse-face mode-line-highlight keymap (mode-line keymap (mouse-1 . mu4e-jump-to-favorite) (mouse-2 . mu4e-jump-to-favorite) (mouse-3 . mu4e-jump-to-favorite)) face mu4e-header-key-face help-echo "mu4e favorite bookmark 'Unread messages':
	flag:unread

number of matches: 0
unread messages: 0
changes since baseline: +0
") 3 4 (help-echo "mu4e favorite bookmark 'Unread messages':
	flag:unread

number of matches: 0
unread messages: 0
changes since baseline: +0
" mouse-face mode-line-highlight keymap (mode-line keymap (mouse-1 . mu4e-jump-to-favorite) (mouse-2 . mu4e-jump-to-favorite) (mouse-3 . mu4e-jump-to-favorite))) 4 5 (mouse-face mode-line-highlight keymap (mode-line keymap (mouse-1 . mu4e-jump-to-favorite) (mouse-2 . mu4e-jump-to-favorite) (mouse-3 . mu4e-jump-to-favorite)) help-echo "mu4e favorite bookmark 'Unread messages':
	flag:unread

number of matches: 0
unread messages: 0
changes since baseline: +0
") 5 6 (help-echo "mu4e favorite bookmark 'Unread messages':
	flag:unread

number of matches: 0
unread messages: 0
changes since baseline: +0
" mouse-face mode-line-highlight keymap (mode-line keymap (mouse-1 . mu4e-jump-to-favorite) (mouse-2 . mu4e-jump-to-favorite) (mouse-3 . mu4e-jump-to-favorite))))
2. (lsp--progress-status)
;; it's empty string
3. lsp-java-progress-string
;; it's empty string too
4: (exec/git-mode-string)
it's nil
5:  (exec/gc-mode-string)
It's empty string
5. flycheck-mode-line
it's `(:eval (flycheck-status-emoji-mode-line-text))`

Addition, I eval (flycheck-status-emoji-mode-line-text) got:
(" " "😐")
-- 




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Thu, 05 Sep 2024 08:29:01 GMT) Full text and rfc822 format available.

Message #20 received at 73027 <at> debbugs.gnu.org (full text, mbox):

From: Eval EXEC <execvy <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: 73027 <at> debbugs.gnu.org
Subject: Re: bug#73027: Fwd: 31.0.50; tab-bar-formal-global erased
 global-modeline-string's mouse hover/click action menu
Date: Thu, 05 Sep 2024 16:25:57 +0800
Juri Linkov <juri <at> linkov.net> writes:

>>>> I'm using tab-bar-mode, and I've included `tab-bar-format-global` in
>>>> `tab-bar-format`.  This displays `global-mode-string` on the tab-bar.
>>>>
>>>> However, in `global-mode-string`, I have `mu4e`.  The tab-bar seems to
>>>> remove the hover and mouse click actions from `global-mode-string`.
>>>
>>> Please show your `global-mode-string` with `mu4e` in it.
>>
>> I execute describe-variable global-mode-string, it's:
>>
>> global-mode-string is a variable defined in xdisp.c.
>>
>> Value
>> ((:eval (mu4e--modeline-string)) (t (:eval (lsp--progress-status)))
>>  ((t lsp-java-progress-string)) (:eval (exec/git-mode-string))
>>  (:eval (exec/gc-mode-string)) flycheck-mode-line)
>
> Also please eval these calls and show their return values.

Addition: my emacs tab-bar looks like this:
https://imgur.com/a/IyXki2P

-- 




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Thu, 05 Sep 2024 17:10:01 GMT) Full text and rfc822 format available.

Message #23 received at 73027 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Eval EXEC <execvy <at> gmail.com>
Cc: 73027 <at> debbugs.gnu.org
Subject: Re: bug#73027: Fwd: 31.0.50; tab-bar-formal-global erased
 global-modeline-string's mouse hover/click action menu
Date: Thu, 05 Sep 2024 20:02:15 +0300
>>> global-mode-string is a variable defined in xdisp.c.
>>> Value
>>> ((:eval (mu4e--modeline-string)) (t (:eval (lsp--progress-status)))
>>>  ((t lsp-java-progress-string)) (:eval (exec/git-mode-string))
>>>  (:eval (exec/gc-mode-string)) flycheck-mode-line)
>
> 1. (mu4e--modeline-string) :
>
> #(" 🌀0/0 "
>   1 2 (help-echo "mu4e favorite bookmark"
>        mouse-face mode-line-highlight
>        keymap (mode-line keymap (mouse-1 . mu4e-jump-to-favorite)
>                                 (mouse-2 . mu4e-jump-to-favorite)
>                                 (mouse-3 . mu4e-jump-to-favorite)))
>   2 3 (mouse-face mode-line-highlight
>        keymap (mode-line keymap (mouse-1 . mu4e-jump-to-favorite)
>                                 (mouse-2 . mu4e-jump-to-favorite)
>                                 (mouse-3 . mu4e-jump-to-favorite))
>        face mu4e-header-key-face
>        help-echo "mu4e favorite bookmark")
>   3 4 (help-echo "mu4e favorite bookmark"
>        mouse-face mode-line-highlight
>        keymap (mode-line keymap (mouse-1 . mu4e-jump-to-favorite)
>                                 (mouse-2 . mu4e-jump-to-favorite)
>                                 (mouse-3 . mu4e-jump-to-favorite)))
>   4 5 (mouse-face mode-line-highlight
>        keymap (mode-line keymap (mouse-1 . mu4e-jump-to-favorite)
>                                 (mouse-2 . mu4e-jump-to-favorite)
>                                 (mouse-3 . mu4e-jump-to-favorite))
>        help-echo "mu4e favorite bookmark")
>   5 6 (help-echo "mu4e favorite bookmark"
>        mouse-face mode-line-highlight
>        keymap (mode-line keymap (mouse-1 . mu4e-jump-to-favorite)
>                                 (mouse-2 . mu4e-jump-to-favorite)
>                                 (mouse-3 . mu4e-jump-to-favorite))))
>
> Addition, I eval (flycheck-status-emoji-mode-line-text) got:
> (" " "😐")
> -- 
> Addition: my emacs tab-bar looks like this:
> https://imgur.com/a/IyXki2P

Thanks, looks nice 😉




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Tue, 10 Sep 2024 06:44:02 GMT) Full text and rfc822 format available.

Message #26 received at 73027 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Eval EXEC <execvy <at> gmail.com>
Cc: 73027 <at> debbugs.gnu.org
Subject: Re: bug#73027: Fwd: 31.0.50; tab-bar-formal-global erased
 global-modeline-string's mouse hover/click action menu
Date: Tue, 10 Sep 2024 09:38:06 +0300
>> Also please eval these calls and show their return values.
>
> 1. (mu4e--modeline-string) :
>
> #(" 🌀0/0 " 1 2 (help-echo "mu4e favorite bookmark 'Unread messages':

Thanks for the reproducible test case.

The problem is that the mode-line keymap can't be used without
replacing the symbol 'mode-line' with 'tab-bar'.  This means that
this recipe doesn't work:

```elisp
(defun mu4e--modeline-string ()
  #(" 🌀0/0 "
  0 5 (help-echo "mu4e favorite bookmark"
       mouse-face mode-line-highlight
       keymap (mode-line . (keymap (mouse-1 . mu4e-jump-to-favorite)
                                   (mouse-2 . mu4e-jump-to-favorite)
                                   (mouse-3 . mu4e-jump-to-favorite))))))

(add-to-list 'global-mode-string '(:eval (mu4e--modeline-string)) t)

(defun mu4e-jump-to-favorite ()
  (interactive)
  (message "DONE"))

(setopt tab-bar-format (append tab-bar-format '(tab-bar-format-align-right
                                                tab-bar-format-global)))
(tab-bar-mode)
```

But after remapping the symbol 'mode-line' with 'tab-bar',
it works nicely:

```elisp
(defun mu4e--modeline-string ()
  #(" 🌀0/0 "
  0 5 (help-echo "mu4e favorite bookmark"
       mouse-face mode-line-highlight
       keymap (keymap (tab-bar . (keymap (mouse-1 . mu4e-jump-to-favorite)
                                         (mouse-2 . mu4e-jump-to-favorite)
                                         (mouse-3 . mu4e-jump-to-favorite)))))))
```




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Sat, 21 Sep 2024 09:16:01 GMT) Full text and rfc822 format available.

Message #29 received at 73027 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Juri Linkov <juri <at> linkov.net>
Cc: execvy <at> gmail.com, 73027 <at> debbugs.gnu.org
Subject: Re: bug#73027: Fwd: 31.0.50;
 tab-bar-formal-global erased global-modeline-string's mouse
 hover/click action menu
Date: Sat, 21 Sep 2024 12:15:24 +0300
> Cc: 73027 <at> debbugs.gnu.org
> From: Juri Linkov <juri <at> linkov.net>
> Date: Tue, 10 Sep 2024 09:38:06 +0300
> 
> >> Also please eval these calls and show their return values.
> >
> > 1. (mu4e--modeline-string) :
> >
> > #(" 🌀0/0 " 1 2 (help-echo "mu4e favorite bookmark 'Unread messages':
> 
> Thanks for the reproducible test case.
> 
> The problem is that the mode-line keymap can't be used without
> replacing the symbol 'mode-line' with 'tab-bar'.  This means that
> this recipe doesn't work:
> 
> ```elisp
> (defun mu4e--modeline-string ()
>   #(" 🌀0/0 "
>   0 5 (help-echo "mu4e favorite bookmark"
>        mouse-face mode-line-highlight
>        keymap (mode-line . (keymap (mouse-1 . mu4e-jump-to-favorite)
>                                    (mouse-2 . mu4e-jump-to-favorite)
>                                    (mouse-3 . mu4e-jump-to-favorite))))))
> 
> (add-to-list 'global-mode-string '(:eval (mu4e--modeline-string)) t)
> 
> (defun mu4e-jump-to-favorite ()
>   (interactive)
>   (message "DONE"))
> 
> (setopt tab-bar-format (append tab-bar-format '(tab-bar-format-align-right
>                                                 tab-bar-format-global)))
> (tab-bar-mode)
> ```
> 
> But after remapping the symbol 'mode-line' with 'tab-bar',
> it works nicely:
> 
> ```elisp
> (defun mu4e--modeline-string ()
>   #(" 🌀0/0 "
>   0 5 (help-echo "mu4e favorite bookmark"
>        mouse-face mode-line-highlight
>        keymap (keymap (tab-bar . (keymap (mouse-1 . mu4e-jump-to-favorite)
>                                          (mouse-2 . mu4e-jump-to-favorite)
>                                          (mouse-3 . mu4e-jump-to-favorite)))))))
> ```

Should we close this bug with the above workaround?  Or would we like
to solve it in some other way?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Sat, 21 Sep 2024 18:12:02 GMT) Full text and rfc822 format available.

Message #32 received at 73027 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: execvy <at> gmail.com, 73027 <at> debbugs.gnu.org
Subject: Re: bug#73027: Fwd: 31.0.50; tab-bar-formal-global erased
 global-modeline-string's mouse hover/click action menu
Date: Sat, 21 Sep 2024 21:03:36 +0300
>> The problem is that the mode-line keymap can't be used without
>> replacing the symbol 'mode-line' with 'tab-bar'.
>
> Should we close this bug with the above workaround?  Or would we like
> to solve it in some other way?

Do you think it would be a good idea to inspect text properties
on the mode-line strings when they are displayed on the tab-bar,
and change the symbol 'mode-line' to 'tab-bar' in the 'keymap'
property on the fly?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Sat, 21 Sep 2024 18:16:01 GMT) Full text and rfc822 format available.

Message #35 received at 73027 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Juri Linkov <juri <at> linkov.net>
Cc: execvy <at> gmail.com, 73027 <at> debbugs.gnu.org
Subject: Re: bug#73027: Fwd: 31.0.50; tab-bar-formal-global erased
 global-modeline-string's mouse hover/click action menu
Date: Sat, 21 Sep 2024 21:15:02 +0300
> From: Juri Linkov <juri <at> linkov.net>
> Cc: execvy <at> gmail.com,  73027 <at> debbugs.gnu.org
> Date: Sat, 21 Sep 2024 21:03:36 +0300
> 
> >> The problem is that the mode-line keymap can't be used without
> >> replacing the symbol 'mode-line' with 'tab-bar'.
> >
> > Should we close this bug with the above workaround?  Or would we like
> > to solve it in some other way?
> 
> Do you think it would be a good idea to inspect text properties
> on the mode-line strings when they are displayed on the tab-bar,
> and change the symbol 'mode-line' to 'tab-bar' in the 'keymap'
> property on the fly?

Sounds kludgey, TBH.  Besides, I'm not even sure this could be done
reliably, since mode-line-format could be very recursive.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#73027; Package emacs. (Tue, 24 Sep 2024 06:55:04 GMT) Full text and rfc822 format available.

Message #38 received at 73027 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: execvy <at> gmail.com, 73027 <at> debbugs.gnu.org
Subject: Re: bug#73027: Fwd: 31.0.50; tab-bar-formal-global erased
 global-modeline-string's mouse hover/click action menu
Date: Tue, 24 Sep 2024 09:43:04 +0300
close 73027 30.0.60
stop

>> >> The problem is that the mode-line keymap can't be used without
>> >> replacing the symbol 'mode-line' with 'tab-bar'.
>> >
>> > Should we close this bug with the above workaround?  Or would we like
>> > to solve it in some other way?
>>
>> Do you think it would be a good idea to inspect text properties
>> on the mode-line strings when they are displayed on the tab-bar,
>> and change the symbol 'mode-line' to 'tab-bar' in the 'keymap'
>> property on the fly?
>
> Sounds kludgey, TBH.  Besides, I'm not even sure this could be done
> reliably, since mode-line-format could be very recursive.

Indeed, this can't be done reliably.  Moreover, this can even cause
performance degradation when using :eval such as

  '(:eval (mu4e--modeline-string))

when such a kludge should be applied every time the tab-bar is updated.

So this is closed now with the recommendation to add
the symbol 'tab-bar' alongside 'mode-line' in
the package-specific 'mu4e--modeline-string'.




bug marked as fixed in version 30.0.60, send any further explanations to 73027 <at> debbugs.gnu.org and Eval EXEC <execvy <at> gmail.com> Request was from Juri Linkov <juri <at> linkov.net> to control <at> debbugs.gnu.org. (Tue, 24 Sep 2024 06:55:04 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 22 Oct 2024 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 297 days ago.

Previous Next


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