Skip to content

[Feature Request] Support standard macOS keyboard shortcuts for history navigation (⌘ + Back / Forward) #324

Description

@dhruvxbug

Currently, navigating session history requires manually clicking the Back and Forward buttons. the app should support standard macOS history navigation shortcuts (⌘[ / ⌘← and ⌘] / ⌘→) matching the behavior of Safari, Arc, and Chrome on macOS.

Proposed Shortcuts

⚬ Back:
⚬ Primary: ⌘[ (Command + Left Bracket)
⚬ Secondary: ⌘← (Command + Left Arrow)
⚬ Forward:
⚬ Primary: ⌘] (Command + Right Bracket)
⚬ Secondary: ⌘→ (Command + Right Arrow)

Activity

  1. dhruvxbug commented on Sep 25, 2026

    @dhruvxbug
    Author

    Hey, I'm putting together a PR to resolve this.

    While tracing the key-handling path, I found that ⌘← / ⌘→ are already implemented in take(_:), but WebKit intercepts them for caret navigation before the handler gets a chance to run. Moving the check earlier in the pipeline (right after the ⌘1–⌘9 block and before pageFirst) resolves the issue so navigation works while browsing, without breaking normal text editing.

    Before finalizing and opening the PR, I wanted to check your preferences on two implementation details:

    1. Hidden menu items (App.swift:108-116): Should we keep the .hidden() menu items for Back/Forward Arrow so the shortcuts remain registered with macOS command routing and accessibility, or revert them to keep the changeset minimal and leave the menu bar showing only ⌘[ / ⌘]?
    2. Cross-origin text guard (inputContext != nil): Should we include the inputContext != nil check (matching the ⌘⇧V precedent at line 957) to ensure typing inside cross-origin iframes (like Google Docs) doesn't accidentally trigger a back navigation, or omit it to stick strictly to the existing editable() check?

    Let me know which direction you prefer and or if I am thinking something wrong here, I will work on the PR accordingly.

  2. driceroland commented on Sep 27, 2026

    @driceroland
    Owner

    Fixed for 1.0.4 by 959e7b8 (with @Aaditya2605's #293): ⌘← and ⌘→ go back and forward again, and still move the caret in a text box. Thanks for reporting it, @dhruvxbug!

  3. added a commit that references this issue on Sep 27, 2026
    959e7b8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions