Menu ▾ ▴

#18 Keyboard parity: conversation-management shortcuts (drop browser history nav)

closed
nobody
2026-07-03
2026-06-28
Anonymous
No

Originally created by: kristofferR

Keyboard parity: conversation-management shortcuts

Carrier has zoom and jump-to-conversation (Cmd/Ctrl+1–9) shortcuts, but is missing the conversation-management shortcuts Caprine ships. Add the useful ones. Each is essentially "find the right control in the DOM and click/focus it" from the injected JS (src-tauri/inject/messenger.js).

Drop the browser-style history shortcuts

Carrier is a Messenger client, not a browser — remove the history navigation bindings so those keys can serve conversation navigation instead:

  • Remove Cmd/Ctrl+[ → history.back() and Cmd/Ctrl+] → history.forward() from the shortcuts map.

Add (priority order)

Action Suggested key Notes
Next conversation Ctrl+Tab and/or Cmd/Ctrl+] now free after removing history nav
Previous conversation Ctrl+Shift+Tab and/or Cmd/Ctrl+[
Search conversations Cmd/Ctrl+K focus the chat-list search box
Search in conversation Cmd/Ctrl+F
Focus message input Cmd/Ctrl+I
New message / compose Cmd/Ctrl+N? ⚠️ currently New Window — decide: keep New Window on Cmd+N and skip, or move New Window to Cmd+Shift+N (note that's also proposed for Hide Names). Recommend leaving Cmd+N as New Window and not adding compose to avoid a clash.
Mute / archive / delete conversation Cmd+Shift+M / H / D lower priority
Insert GIF / emoji / sticker / attach Cmd+G / E / S / T lowest priority; note Cmd+Shift+S is Compact today

Implementation notes

  • Extend the existing accelerator keydown listener in messenger.js. Reuse the chatRows() helper for next/previous (find the currently-active row, click the neighbour).
  • Resolve targets via ARIA roles / stable attributes, matching the existing selectors; guard each lookup so a Messenger DOM change degrades gracefully instead of throwing.
  • Watch for collisions with existing bindings (Cmd+Shift+S = Compact, Cmd+1–9 = jump, Cmd+R/F5 = reload, F2/F3 = updates/settings).

Scope this issue to next/prev + search + focus input first; the picker/mute/archive shortcuts can be a follow-up.

Related

Tickets: #256
Tickets: #30
Tickets: #42

Discussion

  • Anonymous

    Anonymous - 2026-07-03

    Originally posted by: kristofferR

    Implemented in PR [#42]: Cmd/Ctrl+[ / ] now step to the previous/next conversation (history nav removed), plus Ctrl+Tab / Ctrl+Shift+Tab. Cmd/Ctrl+K searches conversations, Cmd/Ctrl+F searches in the open conversation (via the info sidebar's Search control), Cmd/Ctrl+L focuses the message input (went with [#30]'s ⌘L over ⌘I). New conversation landed on Cmd/Ctrl+Shift+N — Cmd/Ctrl+N stays New Window as recommended here, and Hide Names & Avatars moved to Cmd/Ctrl+Shift+H to free Shift+N. Mute/archive/delete and the picker follow-ups stay out of scope per [#30].

     

    Related

    Tickets: #30
    Tickets: #42

  • Anonymous

    Anonymous - 2026-07-03

    Ticket changed by: kristofferR

    • status: open --> closed
     

Log in to post a comment.