Skip to content

[Feature] Add Global Keyboard Shortcuts for Quick Actions #115

Description

@byungsker

Problem or Use Case

I'd like to be able to quickly check my Claude usage status without clicking the menu bar icon.

Currently, I need to:

  1. Move my cursor to the menu bar
  2. Click the Claude Usage Tracker icon
  3. View the popover

This interrupts my workflow, especially when I'm coding or writing and want to quickly glance at my usage before sending a message to Claude. A global keyboard shortcut would allow instant access without leaving my current context.

Proposed Solution

The app could add user-customizable global keyboard shortcuts with the following features:

Default Shortcuts (customizable by user):

  1. Toggle Popover (default: ⌥⌘C / Option+Cmd+C)

    • Show/hide the usage popover from anywhere in macOS
  2. Quick Refresh (default: ⌥⌘R / Option+Cmd+R)

    • Force refresh usage data without opening the popover
  3. Open Settings (default: ⌥⌘, / Option+Cmd+,)

    • Quick access to settings window

Customization UI:

  • Add a "Shortcuts" tab in Settings where users can:
    • Record their own preferred key combinations
    • Reset to defaults
    • Enable/disable individual shortcuts
    • Toggle all global shortcuts on/off

Implementation could use:

  • MASShortcut library (provides shortcut recording UI) or native NSEvent.addGlobalMonitorForEvents
  • Store custom shortcuts in UserDefaults

Alternatives Considered

  1. Using macOS Shortcuts app - Works for launching the app, but can't toggle the popover or trigger specific actions within the app.

  2. Third-party tools like Raycast/Alfred - Adds external dependency and complexity for users who don't already use these tools.

  3. AppleScript support - Could work but requires more setup from users and isn't as seamless as native shortcuts.

Additional Context

Reference implementations:

This feature would significantly improve the UX for power users who prefer keyboard navigation. The shortcut preferences could be stored in UserDefaults alongside other settings.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions