From cea22422d57cd6c22c8113d4af9121dc1d3c873e Mon Sep 17 00:00:00 2001 From: Alex Chernika Date: Sat, 11 Apr 2026 21:21:10 +0200 Subject: [PATCH] menu: skip whitespace and unicode emojis before defining accelerators Skip any character whose value in the ASCII table is larger than 127 (I think all non-ASCII chars follow this rule). Also skip any whitespace. --- src/menu/menu.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/menu/menu.c b/src/menu/menu.c index 7522e6bc..013ee7af 100644 --- a/src/menu/menu.c +++ b/src/menu/menu.c @@ -145,6 +145,17 @@ item_create(struct menu *menu, const char *text, const char *icon_name, bool sho menuitem->arrow = show_arrow ? "›" : NULL; const char *it = text; + /* Skip emojis and whitespace */ + while (*it != '\0') { + unsigned char c = (unsigned char)*it; + + if (isspace(c) || c > 127) { + it++; + } else { + break; + } + } + menuitem->accelerator = tolower(*it); while (*it != '\0') { if (*it == '_') {