unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Tomas Hlavaty <tom@logand.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: luangruo@yahoo.com, 57372@debbugs.gnu.org
Subject: bug#57372: no-toolkit menu popups do not respect emacs font configuration
Date: Thu, 25 Aug 2022 21:07:25 +0200	[thread overview]
Message-ID: <87h720b0r6.fsf@logand.com> (raw)
In-Reply-To: <835yig4y03.fsf@gnu.org>

On Thu 25 Aug 2022 at 09:51, Eli Zaretskii <eliz@gnu.org> wrote:
> If you need to use the File menu, you shouldn't be bothered about the
> Edit menu.

If I want to use the Edit menu, it disappears half way through getting
to it.

> If you have a mouse that works on the TTY frames (either GPM or
> xterm-mouse mode), you can click directly at Edit and open the Edit
> menu instead of (the default) File menu.  Otherwise, use the arrow
> keys or C-f/C-b to move between the top-level menus.

The problem is not with mouse or keyboard.  The problem is with how the
selected menu-bar item is presented.

Anyway, it seems to me that all the existing menu implementations are
dead end for what I want to achieve, except tmm-menubar.

>> Is there a reason, why is tmm-menubar restricted to tty?
>
> It isn't.  It's only the F10 binding that works differently on TTY
> frames, for reasons of backward compatibility (before TTY menus were
> available).  On GUI frames, you need to invoke tmm-menubar by name
> instead.  (You can, of course, bind F10 to tmm-menubar globally, if
> that's what you want.)

I tried binding tmm-menubar to F10 but that does not work:

$ emacs -q \
--eval "(global-set-key [F10] 'tmm-menubar)" \
--eval '(describe-key [F10])'

This shows that tmm-menubar is bound to <F10> and M-`.
Pressing M-` opens tmm-menubar which is correct.
But pressing F10 pops up the X resources based menu which is wrong.
It seems that something in Emacs does not respect my F10 key binding.

>> It would be nicer, if the cond in menu-bar-open was replaced
>> with run-hook-with-args-until-success and a customizable
>> open-menu-bar-functions variable.
>
> That's a lot of complexity for very little gain.  Binding F10 globally
> is much easier.

Agree that it would be much easier, if it worked.

> And, given the fact that almost no one uses tmm-menubar on GUI frames,
> I don't see the justification for the added complexity.

It seems to me that tmm-menubar is the only menu implementation which
respects faces and does not depend on anything alien which means I can
customize it the usual Emacs way and change it dynamically.  That is a
huge plus and looks like the way to go for what I want to achieve.
Thanks again for the pointer.

It looks quite nice with this customisation:
(setq tmm-mid-prompt " ")
(setq tmm-completion-prompt nil)

However, if I click on the menu-bar I still get the X resource based
menu instead of tmm-menubar.  What do I need to do to get tmm-menubar
after clicking on the menubar (not only after pressing F10 or M-`)?

I tried to discover, what gets called in such case.  Unfortunatelly, C-h
k (describe-key) does not work in that case.  How can one discover, what
code handles particular click?

Unlike other implementations, it seems that tmm-menubar does not show
checkboxes.





  reply	other threads:[~2022-08-25 19:07 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-23 20:47 bug#57372: no-toolkit menu popups do not respect emacs font configuration Tomas Hlavaty
2022-08-24  2:29 ` Eli Zaretskii
2022-08-24  8:15   ` Tomas Hlavaty
2022-08-24 10:56     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-24 11:23       ` Eli Zaretskii
2022-08-24 12:11         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-24 12:27           ` Eli Zaretskii
2022-08-24 12:34             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-24 12:43               ` Eli Zaretskii
2022-08-24 13:01                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-24 13:21                   ` Eli Zaretskii
2022-08-24 13:23                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-24 13:25                       ` Eli Zaretskii
2022-08-24 13:39                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-24 14:23                           ` Eli Zaretskii
2022-08-24 19:07                             ` Tomas Hlavaty
2022-08-24 19:36                               ` Eli Zaretskii
2022-08-24 23:10                                 ` Stefan Kangas
2022-08-25  1:08                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-24 17:49             ` Tomas Hlavaty
2022-08-24 17:59               ` Eli Zaretskii
2022-08-24 19:01                 ` Tomas Hlavaty
2022-08-24 19:33                   ` Eli Zaretskii
2022-08-24 21:57                     ` Tomas Hlavaty
2022-08-25  1:40                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-25  6:42                       ` Eli Zaretskii
2022-08-25 18:21                         ` Tomas Hlavaty
2022-08-25 19:02                           ` Eli Zaretskii
2022-08-26  7:13                             ` Tomas Hlavaty
2022-08-26  7:42                               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-09-13 20:06                             ` Tomas Hlavaty
2022-09-14  1:59                               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-26  1:13                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-25  1:28                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-25  1:26                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-25  1:25               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-24 16:15         ` Tomas Hlavaty
2022-08-24 16:32           ` Eli Zaretskii
2022-08-24 18:54             ` Tomas Hlavaty
2022-08-24 19:28               ` Eli Zaretskii
2022-08-24 22:59                 ` Tomas Hlavaty
2022-08-25  6:51                   ` Eli Zaretskii
2022-08-25 19:07                     ` Tomas Hlavaty [this message]
2022-08-25 19:15                       ` Eli Zaretskii
2022-08-26  7:19                         ` Tomas Hlavaty
2022-08-26 10:35                           ` Eli Zaretskii
2022-08-26 10:54                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-26 11:00                               ` Eli Zaretskii
2022-08-26 11:18                                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-26 11:31                                   ` Eli Zaretskii
2022-08-24 11:47       ` Lars Ingebrigtsen
2022-08-24 16:09       ` Tomas Hlavaty
2022-08-25  1:09         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-25 19:18           ` Tomas Hlavaty
2022-08-26  1:11             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-08-26  6:54               ` Tomas Hlavaty

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h720b0r6.fsf@logand.com \
    --to=tom@logand.com \
    --cc=57372@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=luangruo@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).