Problem
When the LSP/editor hover popup has focus (clicked or via `gh`), right-clicking inside the popup shows the editor's tab/right-click context menu instead of being consumed by the popup.
Cause
The popup isn't on the `ModalStack`, so `dispatch_mouse_down` doesn't recognise it as a modal-precedence layer. Both TUI and GTK have ModalStack-based dismiss for picker / context menu but the editor hover wasn't pushed when it gained focus.
Fix
When `engine.editor_hover.has_focus` flips to true, push the popup's bounds onto `ModalStack` with id `editor_hover`. When dismissed (focus lost or popup closed), pop it. `dispatch_mouse_down` already swallows clicks landing inside the topmost modal.
This is the same pattern picker / context menu use today.
Surfaced by
#214 first-cut smoke test. User: "right-click in focused popup shows menu from editor."
Files
- `src/tui_main/mouse.rs` — push/pop ModalStack on focus change
- `src/gtk/mod.rs` — same
- Or factor into a shared engine-side hook so both backends see "popup gained focus → push modal" as one decision
Problem
When the LSP/editor hover popup has focus (clicked or via `gh`), right-clicking inside the popup shows the editor's tab/right-click context menu instead of being consumed by the popup.
Cause
The popup isn't on the `ModalStack`, so `dispatch_mouse_down` doesn't recognise it as a modal-precedence layer. Both TUI and GTK have ModalStack-based dismiss for picker / context menu but the editor hover wasn't pushed when it gained focus.
Fix
When `engine.editor_hover.has_focus` flips to true, push the popup's bounds onto `ModalStack` with id `editor_hover`. When dismissed (focus lost or popup closed), pop it. `dispatch_mouse_down` already swallows clicks landing inside the topmost modal.
This is the same pattern picker / context menu use today.
Surfaced by
#214 first-cut smoke test. User: "right-click in focused popup shows menu from editor."
Files