Skip to content

Open Contacts with o, and attachments with Enter - #535

Merged
robzolkos merged 1 commit into
mainfrom
contacts-on-lowercase-o
Sep 30, 2026
Merged

robzolkos merged 1 commit into
mainfrom
contacts-on-lowercase-o

Conversation

@robzolkos

@robzolkos robzolkos commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

The Contacts tab underlines the o in its name, but the key that opened it was Shift+O, so pressing the letter the tab points at did nothing. Mail, Calendar and Journal underline a capital, so their hints were already right. The C that starts "Contacts" belongs to Calendar, which leaves o.

  • o now opens Contacts from anywhere, including inside a thread. Shift+O still works, the way HEY's letter shortcuts answer either case. HEY's web app has no Contacts shortcut to match, and its o (Power Through) has no counterpart in the TUI.
  • o used to open the selected attachment in a thread; that moves to Enter. With a link selected (Tab), Enter opens the link as before; otherwise it opens the selected attachment. Escape clears the link.
  • The help bar offers enter open attachment only while no link is selected, since the link footer already says what Enter does, and the section row now reads shift+M/C/J jump · o contacts.
  • docs/tui.md covers both.

Before

In a thread, Enter does nothing and o opens the attachment; Contacts needs Shift+O.

contacts-before.gif

After

Enter opens the attachment, then o goes to Contacts.

contacts-after.gif

contacts-after-enter-opens-attachment.png

contacts-after-o-opens-contacts.png


Summary by cubic

The Contacts tab underlines o, but the shortcut that opened it was Shift+O — so the letter the tab points at did nothing. o now opens Contacts from anywhere, including inside a thread; Shift+O still works, and the attachment shortcut in a thread moves from o to Enter.

  • With a link selected (Tab), Enter opens the link as before; otherwise it opens the selected attachment, and Escape clears the link.
  • The help bar offers enter open attachment only while no link is selected, since the link footer already says what Enter does.
  • docs/tui.md reflects both shortcuts.

Written for commit 4f7b6b7. Summary will update on new commits.

Review in cubic

The Contacts tab underlines the o in its name, but the key that opened it was
Shift+O, so pressing the letter the tab points at did nothing. Mail, Calendar
and Journal underline a capital, so their hints were already right. The C that
starts "Contacts" belongs to Calendar, which leaves o, and o now opens
Contacts from anywhere. Shift+O still works, the way HEY's letter shortcuts
answer either case.

o used to open the selected attachment in a thread. That moves to Enter,
which already opens a link once Tab has picked one: with a link selected Enter
opens the link, and otherwise it opens the selected attachment. Escape clears
the link. The help bar offers Enter for the attachment only while no link is
selected, since the link's footer already says what Enter does.
Copilot AI balanced review requested due to automatic review settings September 30, 2026 18:57
@robzolkos
robzolkos requested a review from a team as a code owner September 30, 2026 18:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approved

The shortcut routing, contextual help, documentation, and automated coverage are consistent and complete.

Review effort: Balanced
Findings: None

What changed in this PR

Updates TUI navigation so o opens Contacts and Enter opens attachments unless a link is selected.

Changes:

  • Adds lowercase o as the Contacts shortcut while retaining Shift+O.
  • Moves attachment opening from o to Enter with link-selection precedence.
  • Updates help text, documentation, and tests.

[!TIP]
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or run gh pr ready --undo.
Click "Ready for review" or run gh pr ready to reengage.

File Description
internal/​tui/​tui.go Updates global shortcut help.
internal/​tui/​tui_test.go Tests Contacts and Enter routing.
internal/​tui/​nav.go Maps o/O to Contacts.
internal/​tui/​mail.go Routes Enter to links or attachments.
internal/​tui/​mail_test.go Updates attachment-opening tests.
docs/​tui.md Documents revised shortcuts.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@robzolkos
robzolkos merged commit ede189e into main Sep 30, 2026
26 checks passed
@robzolkos
robzolkos deleted the contacts-on-lowercase-o branch September 30, 2026 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants