From 39a5efbb816a7041c03cfdf07ed569c9dec92dbf Mon Sep 17 00:00:00 2001 From: Bendt Date: Fri, 19 Dec 2025 16:16:12 -0500 Subject: [PATCH] Add 'r' keybinding to refresh mail message list --- PROJECT_PLAN.md | 2 +- src/mail/app.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/PROJECT_PLAN.md b/PROJECT_PLAN.md index 2015672..1c367dd 100644 --- a/PROJECT_PLAN.md +++ b/PROJECT_PLAN.md @@ -451,7 +451,7 @@ Implement `/` keybinding for search across all apps with similar UX: 3. Calendar: Responsive detail panel 4. Calendar: Sidebar mini-calendar 5. Calendar: Calendar invites sidebar -6. Mail: Add refresh keybinding +6. ~~Mail: Add refresh keybinding~~ (DONE - `r` key) 7. Mail: Add mark read/unread action 8. Mail: Folder message counts 9. ~~Mail: URL compression in markdown view~~ (DONE) diff --git a/src/mail/app.py b/src/mail/app.py index c10c82b..503b699 100644 --- a/src/mail/app.py +++ b/src/mail/app.py @@ -115,7 +115,8 @@ class EmailViewerApp(App): Binding("h", "toggle_header", "Toggle Envelope Header"), Binding("t", "create_task", "Create Task"), Binding("l", "open_links", "Show Links"), - Binding("%", "reload", "Reload message list"), + Binding("r", "reload", "Reload message list"), + Binding("%", "reload", "Reload message list", show=False), Binding("1", "focus_1", "Focus Accounts Panel"), Binding("2", "focus_2", "Focus Folders Panel"), Binding("3", "focus_3", "Focus Envelopes Panel"), @@ -912,6 +913,11 @@ class EmailViewerApp(App): self.fetch_envelopes() if self.reload_needed else None self.show_message(self.message_store.get_newest_id()) + def action_reload(self) -> None: + """Reload the message list.""" + self.fetch_envelopes() + self.show_status("Reloading messages...") + def action_search(self) -> None: """Open the search panel.""" search_panel = self.query_one("#search_panel", SearchPanel)