Add vim-like buffer tabs to right panel for Memories, Reminders, and Agenda#553
Open
Add vim-like buffer tabs to right panel for Memories, Reminders, and Agenda#553
Conversation
…Agenda Replaces the static "In-Context Memories" header with a Textual Tabs widget that lets users switch between three buffer views: - Memories (F3): all active memories, with ● marking in-context ones - Reminders (F4): active reminders with trigger time or [ctx] indicator - Agenda (F5): today's agenda items with checklist progress F2 still toggles panel visibility. Selecting any item opens the existing detail modal; reminders support deletion from the modal, agenda shows the raw markdown content. https://claude.ai/code/session_01NNTCtZGVd8ET1WU27n3nrA
- Wrap all list-item labels in rich Text() to prevent MarkupError when
memory/item names contain Rich markup characters like [ and ]
- Replace F3/F4/F5 bindings with Escape-to-browse-mode:
Escape (from chat input) → show panel, focus list (browse mode)
Escape / i / a (from list) → return to chat input
j / k → cursor down/up in list
Tab / Shift+Tab → cycle Memories → Reminders → Agenda
https://claude.ai/code/session_01NNTCtZGVd8ET1WU27n3nrA
A second footer line (#hints-bar) shows keybinding hints that update
based on the current view:
Chat input focused:
Esc: browse panel · F2: toggle panel · Ctrl+D: exit
Browse mode (list focused):
[Memories] ↑↓/jk: move · Tab/Shift+Tab: cycle buffers ·
Enter: open · i/a: back to chat · Esc: back
The buffer name (Memories / Reminders / Agenda) is shown in brackets
so it updates when the user cycles buffers.
https://claude.ai/code/session_01NNTCtZGVd8ET1WU27n3nrA
_update_hints() was called synchronously right after input_widget.focus(), before Textual had settled the focus change, so list_view.has_focus still returned True. Defer all _update_hints() calls via call_later() so the check runs after focus propagation completes. https://claude.ai/code/session_01NNTCtZGVd8ET1WU27n3nrA
68277d6 to
3204aae
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the static "In-Context Memories" header with a Textual Tabs widget
that lets users switch between three buffer views:
F2 still toggles panel visibility. Selecting any item opens the existing
detail modal; reminders support deletion from the modal, agenda shows
the raw markdown content.
https://claude.ai/code/session_01NNTCtZGVd8ET1WU27n3nrA