all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: emacs-devel@gnu.org
Subject: Drop-down menus, popup menus, and popup dialogs supported on TTYs
Date: Tue, 08 Oct 2013 21:24:52 +0300	[thread overview]
Message-ID: <831u3vsjrf.fsf@gnu.org> (raw)

Trunk revision 114582 adds support for menus on a text-mode terminal.
Typing F10 will drop the Files menu, and you can get to the others by
using C-f/C-b and the right/left arrow keys.  Within a menu, C-n/C-p
and the up/down arrows allow navigation between items, and RET selects
an item.  Help-echo for menu items is displayed in the echo area.

If you have a mouse supported, clicking on the menu bar should drop
down the menu under the click; clicking on the mode line or on the
text area should pop up menus specific to those areas.  Navigation
within the menu and selection with a mouse work as you'd expect.

I tested this on the w32 text terminal, with and without a mouse, and
on GNU/Linux without a mouse.  Xterm-mouse still doesn't work as
expected, so there's probably something else to be done about that.

Please test on GNU/Linux terminals with GPM.  Also, I hope I didn't
break the GUI frames (other than w32, which I tested).  The NS build
is my greatest worry, as I couldn't even try compiling it.

HAVE_MENUS is now unconditionally defined by configure.  I didn't yet
remove HAVE_MENUS from the sources, because that could serve as
stopgap and temporary work-around, in case I screwed up some build.
Also, perhaps people will want to have a --without-menus option at
configure time.

This was a long journey for me, it started years ago, when I discussed
possible implementations with Gerd Moellmann (his ideas are at the
core of the implementation, see the commentary in term.c).  Now it's
over.  Enjoy the results.



             reply	other threads:[~2013-10-08 18:24 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-08 18:24 Eli Zaretskii [this message]
2013-10-08 20:18 ` Drop-down menus, popup menus, and popup dialogs supported on TTYs chad
2013-10-09  2:42   ` Eli Zaretskii
2013-10-09  4:32 ` Masatake YAMATO
2013-10-09 16:35   ` Eli Zaretskii
2013-10-09 17:07     ` Dani Moncayo
2013-10-09 17:46     ` David De La Harpe Golden
2013-10-09 17:56     ` Gregor Zattler
2013-10-09 18:28       ` Eli Zaretskii
2013-10-09 21:26         ` Gregor Zattler
2013-10-10  2:49           ` Eli Zaretskii
2013-10-10  8:33             ` Gregor Zattler
2013-10-10  9:01               ` Andreas Schwab
2013-10-09 18:12     ` Stefan Monnier
2013-10-09 19:03       ` Eli Zaretskii
2013-10-11 17:01         ` Dani Moncayo
2013-10-11 17:46           ` Eli Zaretskii
2013-10-11 17:56             ` Dani Moncayo
2013-10-11 18:23               ` Eli Zaretskii
2013-10-11 18:32                 ` Dani Moncayo
2013-10-12  0:49                   ` Masatake YAMATO
2013-10-12  7:24                     ` Eli Zaretskii
2013-10-12  9:34                       ` Dani Moncayo
2013-10-11 18:06           ` Masatake YAMATO

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

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

  git send-email \
    --in-reply-to=831u3vsjrf.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.