ITADN

GUI and TUI menu bar not working: clicks and F10 produce no response

#116Closedeval-exec 创建于 2026-05-20
bug
E
eval-execcommented
## Bug Report Both the GUI menu bar (mouse clicks) and TUI menu bar (F10 key) produce no response in NeoMacs. ### GUI Menu Clicking on any menu bar item (File, Edit, Options, etc.) in the GUI window does nothing. The render thread correctly detects the click and sends `MenuBarClick` events, but: 1. **Input bridge drops events**: `input_bridge::convert_display_event()` has a `_ => None` catch-all that silently drops `MenuBarClick`, `MenuSelection`, `ToolBarClick`, and `TabBarClick` events 2. **No keyboard handler**: `handle_read_char_input_event()` has no match arms for `MenuBarClick`/`MenuSelection` - these InputEvent variants were added to the enum but never handled 3. **No popup display**: `ShowPopupMenu` RenderCommand exists but is never sent from the core; the popup menu round-trip is unimplemented 4. **x-popup-menu is a stub**: The builtin returns NIL in batch mode and never shows a GUI popup ### TUI Menu F10 is bound to `menu-bar-open` which routes to `neomacs-menu-bar-open` → `tmm-menubar`. This Lisp path should work but needs verification. ### Expected Behavior (matching GNU Emacs) - **GUI**: Clicking a menu bar item should show a native dropdown popup with submenu items. Selecting an item should execute the corresponding command. - **TUI**: F10 should trigger `tmm-menubar` showing a text-based menu navigation interface. ### Root Cause The entire GUI menu interaction pipeline (click → popup display → selection → command execution) was never wired up. The render thread has full popup menu rendering support (`PopupMenuState`, `ShowPopupMenu`/`HidePopupMenu` commands, hit-testing, submenu expansion) but the core never sends popup data or processes selection results.
关闭于 2026-05-23 0 条评论