Skip to content

Conversation

@jamesdowzard
Copy link

Summary

Implements a VS Code-style command palette that provides quick access to all terminal actions via keyboard, triggered with Cmd+Shift+P.

Features

  • Quick Action Access: Instantly access 17 common terminal actions without memorizing keyboard shortcuts
  • Fuzzy Search: Filter actions by typing - searches both action names and descriptions
  • Keyboard Navigation: Use arrow keys to navigate, Enter to execute, Escape to close
  • Visual Feedback: Semi-transparent overlay with clear action descriptions

Available Actions

  • Clipboard: Copy, Paste
  • Search: Forward, Backward
  • Font: Increase/Decrease/Reset Size
  • Tabs: Create, Close, Next, Previous
  • Splits: Right, Down
  • Other: Toggle Vi Mode, Config Editor, Clear History, Quit

Technical Details

  • Added CommandPalette action enum variant
  • Created PaletteState struct to manage UI state and filtering
  • Implemented palette rendering module with overlay design
  • Added keyboard input handling for palette interaction
  • Integrated with existing action system

Implementation Pattern

Follows the same pattern as the existing search feature:

  • State management in Screen
  • Rendering logic in separate module
  • Input handling in process_key_event
  • Action execution reuses existing methods

Test plan

  • Build succeeds without errors
  • Cmd+Shift+P opens the palette
  • Typing filters the action list
  • Arrow keys navigate between actions
  • Enter executes the selected action
  • Escape closes the palette
  • Actions execute correctly (test a few: copy, paste, create tab, etc.)

Display battery percentage (macOS/Linux) and current time (HH:MM) in
the top-right corner of the tab bar. The status info is cached and
updated every 30 seconds to avoid expensive system calls on every frame.
- Icon now uses Rio's signature orange color scheme
- Welcome screen credits Rio Terminal with orange highlighting
- App metadata credits Raphael Amorim and rioterm.com
Two icon options saved:
- Option A: horizontal gradient line (pink→purple→cyan)
- Option B: three horizontal bars with Rio colours (red, yellow, cyan)

Currently using Option B as the dock icon.
Implements a VS Code-style command palette that provides quick access
to all terminal actions via keyboard.

Features:
- Trigger with Cmd+Shift+P (macOS)
- Fuzzy search filtering of actions by name or description
- Keyboard navigation with arrow keys
- Enter to execute selected action
- Escape to close palette
- Semi-transparent overlay design

Changes:
- Add CommandPalette action enum variant
- Add Cmd+Shift+P keybinding for macOS
- Create PaletteState to manage palette UI state
- Implement palette rendering with overlay background
- Add keyboard input handling for palette interaction
- Wire up action execution for 17 common terminal actions

The palette provides quick access to actions like:
- Clipboard operations (copy/paste)
- Search (forward/backward)
- Font size adjustments
- Tab management
- Split management
- Vi mode toggle
- Config editor
@raphamorim
Copy link
Owner

This is being implemented in v0.3 thanks for the PR!

@raphamorim raphamorim closed this Jan 1, 2026
@jamesdowzard
Copy link
Author

Thanks - and apologies, this was meant for my personal fork, not upstream. I've sorted out my repo setup now so I won't accidentally submit fork-specific PRs again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants