feat: enhance terminal navigation and session management

- Implemented spatial navigation between terminal panes using directional shortcuts (Ctrl+Alt+Arrow keys).
- Improved session handling by ensuring stale sessions are automatically removed when the server indicates they are invalid.
- Added customizable keyboard shortcuts for terminal actions and enhanced search functionality with dedicated highlighting colors.
- Updated terminal themes to include search highlighting colors for better visibility during searches.
- Refactored terminal layout saving logic to prevent incomplete state saves during project restoration.
This commit is contained in:
SuperComboGamer
2025-12-21 15:33:43 -05:00
parent f504a00ce6
commit 7ddd9f8be1
6 changed files with 536 additions and 64 deletions

View File

@@ -32,11 +32,27 @@ When password protection is enabled:
When the terminal is focused, the following shortcuts are available:
| Shortcut | Action |
| -------- | --------------------------------------- |
| `Alt+D` | Split terminal right (horizontal split) |
| `Alt+S` | Split terminal down (vertical split) |
| `Alt+W` | Close current terminal |
| Shortcut | Action |
| -------- | ---------------------------------------- |
| `Alt+T` | Open new terminal tab |
| `Alt+D` | Split terminal right (horizontal split) |
| `Alt+S` | Split terminal down (vertical split) |
| `Alt+W` | Close current terminal |
These shortcuts are customizable via the keyboard shortcuts settings (Settings > Keyboard Shortcuts).
### Split Pane Navigation
Navigate between terminal panes using directional shortcuts:
| Shortcut | Action |
| --------------------------------- | ----------------------------------- |
| `Ctrl+Alt+ArrowUp` (or `Cmd+Alt`) | Move focus to terminal pane above |
| `Ctrl+Alt+ArrowDown` | Move focus to terminal pane below |
| `Ctrl+Alt+ArrowLeft` | Move focus to terminal pane on left |
| `Ctrl+Alt+ArrowRight` | Move focus to terminal pane on right|
The navigation is spatially aware - pressing Down will move to the terminal below your current one, not just cycle through terminals in order.
Global shortcut (works anywhere in the app):
| Shortcut | Action |