Subject: bug#57372: no-toolkit menu popups do not respect emacs font configuration

From: Eli Zaretskii <[email-masked]>
Date: Thu, 25 Aug 2022 09:51:08 +0300

> From: Tomas Hlavaty <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Thu, 25 Aug 2022 00:59:22 +0200
> 
> >> Strange design.  Say I want to open the Edit menu.  I press F10 and
> >> suddenly I cannot see the Edit menu anymore.
> >
> > ??? The drop-down menu also hides part of the window's text, doesn't
> > it?  More generally, _something_ has to be hidden, because this is a
> > text-mode terminal: the menu cannot move outside of the frame, where
> > it wouldn't overlap any of the windows.
> 
> That is not the issue.
> Why does the Edit menu dissappear?

Because the File menu has certain width requirements, and because the
screen estate is at premium.

> Say the menu-bar looks like this:
> File Edit Options
> Press F10 and it looks like this:
>  File > t Options
> Where is my Edit menu?
> What should I do now?

If you need to use the File menu, you shouldn't be bothered about the
Edit menu.  If you want to use the Edit menu, press C-f or the <RIGHT>
arrow key, and Emacs will close the File menu and open the Edit menu
instead.

> > So why is it important that the Edit menu is hidden, but not that the
> > whole text below the File menu is suddenly unreadable.
> 
> Because when I want to open the Edit menu, my attention is on the Edit
> menu and not on some other stuff somewhere else.  After pressing F10,
> the Edit menu I saw earlier disappears.  I expect to see the Edit menu
> the whole time I am trying to navigate 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.

> 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.)

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