feat: UI improvements, mouse support, and keybind fixes#10
Open
turnipy wants to merge 2 commits intoAdarsh-codesOP:mainfrom
Open
feat: UI improvements, mouse support, and keybind fixes#10turnipy wants to merge 2 commits intoAdarsh-codesOP:mainfrom
turnipy wants to merge 2 commits intoAdarsh-codesOP:mainfrom
Conversation
… optimization ## Top Bar Menu - Underline first letter of each menu item to indicate Alt+letter shortcut - Selected menu item now shows black text on highlighted background - Fixed: Navigation menu no longer appears selected on startup ## Mouse Support - Click top bar menu labels to open/close dropdown menus - Click dropdown items to execute actions - Click in sidebar, editor, or terminal to switch panel focus - Click in sidebar selects the clicked file entry - Click outside an open menu closes it ## Selection Fixes - Shift+Left/Right now extends selection character by character - Ctrl+Shift+Left/Right extends selection word by word - Ctrl+Shift+Home/End selects from cursor to start/end of document - Ctrl+Home/End fixed (was silently consumed by global Ctrl handler) - Ctrl+Shift+PageUp/PageDown now selects by page - Ctrl+PageUp/PageDown fixed for page navigation in editor ## Event Loop Optimization - Restructured event loop: process all pending events before drawing - Filter key Release events at source to prevent unnecessary wakeups - Single draw per event batch instead of per-event, improving responsiveness - Removed 8ms sleep between frames ## Keyboard Enhancement - Enable crossterm DISAMBIGUATE_ESCAPE_CODES for terminals that support it - Best-effort: gracefully degrades on terminals without support - Improves Ctrl+Shift modifier detection in Ghostty, ptyxis, etc. ## Sidebar Area Tracking - Store sidebar render area for mouse click detection Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…icks, and update help text - Revert event loop back to original upstream design (remove Release event filtering and process_event refactor that caused Shift+arrow lag) - Fix menu highlight_style to match selected style (black text on theme bg) so selected menu labels are readable - Fix Theme menu being selected on startup by removing .min(7) clamp - Fix sidebar click offset (account for border +1) - Add double-click support for sidebar (open file / toggle folder) - Update HELP_TEXT with all new keybinds (mouse, menus, tree-sitter, LSP) - Best-effort keyboard enhancement protocol (graceful fallback for terminals that don't support it) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds several UI and usability improvements built on top of the current upstream codebase:
DISAMBIGUATE_ESCAPE_CODESsupport with graceful fallback for terminals that don't support it (e.g. COSMIC Terminal, kitty)Changes by file
src/app.rslast_clickfield for double-click detection timingsrc/config.rsHELP_TEXTwith mouse, menu, and LSP keybind sectionssrc/events/mod.rsctrl_nav_to_editorguard, fixed selection on Left/Right, added Ctrl+Shift word selection, sidebar click offset fix, double-click handlingsrc/main.rssrc/ui/top_bar.rssrc/ui/mod.rsTest plan
This is a follow-up to the discussion in issue #8, rebuilt from scratch on top of the current upstream codebase.
🤖 Generated with Claude Code