From: "Gerd Möllmann" <gerd.moellmann@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 74740@debbugs.gnu.org
Subject: bug#74740: 31.0.50; tty menus not displaying separators
Date: Mon, 09 Dec 2024 05:29:43 +0100 [thread overview]
Message-ID: <m27c89xyvc.fsf@gmail.com> (raw)
In-Reply-To: <86y10qdmhz.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 08 Dec 2024 21:04:56 +0200")
[-- Attachment #1: Type: text/plain, Size: 1894 bytes --]
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> Cc: 74740@debbugs.gnu.org
>> Date: Sun, 08 Dec 2024 19:46:35 +0100
>>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>> >> Date: Sun, 08 Dec 2024 18:34:33 +0100
>> >>
>> >> To see this, emacs -nw -q and open a menu from the menubar. Simple
>> >> separators there are displayed as "--".
>> >
>> > What did you expect instead? I think this always worked like that on
>> > TTY frames.
>> >
>> >> More generally, all separator types are displayed as they appear in the
>> >> menu item definition, '--double-line' as "--double-line" and so on.
>>
>> I expected a horizontal line for "--".
>>
>> > What do you mean by that? where do we have such separators, and how do
>> > you display the menus which show them? I don't think I see them in
>> > the default menu bar.
>>
>> Concerning the separator types, Elisp Info says
>>
>> 23.18.1.3 Menu Separators
>> .........................
>>
>> A menu separator is a kind of menu item that doesn't display any
>> text--instead, it divides the menu into subparts with a horizontal line.
>> A separator looks like this in the menu keymap:
>>
>> (menu-item SEPARATOR-TYPE)
>>
>> where SEPARATOR-TYPE is a string starting with two or more dashes.
>>
>> followed by a list of separator types, among them the --double-line I
>> mentioned.
>>
>> One can get these from 3rd-party packages. Minion is an example, where
>> --double-line appears in a popup menu on the mode line.
>
> This was never supported in TTY menus (I think I was completely
> unaware of this feature when I wrote the code). Patches to support it
> will be most welcome.
The following patch displays "--" for all separator types. I'd say
that's good enough, WDYT?
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: separator types --]
[-- Type: text/x-patch, Size: 957 bytes --]
From 09917757737d65fbb5bbcd57427a8e0528b87119 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gerd=20M=C3=B6llmann?= <gerd@gnu.org>
Date: Mon, 9 Dec 2024 05:20:29 +0100
Subject: [PATCH] Support menu separator types in tty menus (bug#74740)
* src/xdisp.c (display_tty_menu_item): Display "--" If a menu item's
text looks like a separator.
---
src/xdisp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/xdisp.c b/src/xdisp.c
index 534c0520240..abbe665a2fd 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -27333,6 +27333,9 @@ display_tty_menu_item (const char *item_text, int width, int face_id,
display_string (" >", Qnil, Qnil, 0, 0, &it, width, 0,
FRAME_COLS (f) - 1, -1);
}
+ else if (menu_separator_name_p (item_text))
+ display_string ("--", Qnil, Qnil, 0, 0, &it,
+ width, 0, FRAME_COLS (f) - 1, -1);
else
display_string (item_text, Qnil, Qnil, 0, 0, &it,
width, 0, FRAME_COLS (f) - 1, -1);
--
2.47.1
next prev parent reply other threads:[~2024-12-09 4:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-08 17:34 bug#74740: 31.0.50; tty menus not displaying separators Gerd Möllmann
2024-12-08 18:33 ` Eli Zaretskii
2024-12-08 18:46 ` Gerd Möllmann
2024-12-08 19:04 ` Eli Zaretskii
2024-12-09 4:29 ` Gerd Möllmann [this message]
2024-12-09 13:54 ` Eli Zaretskii
2024-12-09 14:20 ` Gerd Möllmann
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=m27c89xyvc.fsf@gmail.com \
--to=gerd.moellmann@gmail.com \
--cc=74740@debbugs.gnu.org \
--cc=eliz@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 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).