Add D keybindings in message view for delete

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nemunaire 2026-03-29 19:50:09 +07:00
commit 3af666978c
3 changed files with 14 additions and 1 deletions

View file

@ -60,6 +60,7 @@ Subjects are fetched lazily in parallel via `postcat` as the list loads; a progr
| `↑↓` / `Space` / `PgUp` / `PgDn` | Scroll |
| `H` | Toggle full headers / short headers |
| `s` | Save raw EML to `~/QUEUEID.eml` |
| `D` | Delete message (`postsuper -d`) |
| `F` | Requeue message (`postsuper -r`) |
| `v` | Browse MIME parts |
| `q` | Back to queue list |

View file

@ -262,6 +262,11 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
m.refreshViewport()
m.viewport.GotoTop()
return m, nil
case "D":
id := m.currentID
m.state = stateList
m.saveNotice = ""
return m, deleteMessageCmd(id)
case "F":
return m, requeueMessageCmd(m.currentID)
case "v":
@ -394,7 +399,7 @@ func (m Model) View() string {
headersHint = "H: short headers"
}
status := statusBarStyle.Render(
fmt.Sprintf(" ↑↓/SPC/PgUp/Dn: scroll │ s: save EML │ F: requeue │ v: parts │ %s │ q: back │ %d%% ", headersHint, scrollPct),
fmt.Sprintf(" ↑↓/SPC/PgUp/Dn: scroll │ s: save EML │ D: delete │ F: requeue │ v: parts │ %s │ q: back │ %d%% ", headersHint, scrollPct),
)
notice := ""
if m.messageSaving {

View file

@ -47,6 +47,13 @@ func flushQueueCmd() tea.Cmd {
}
}
func deleteMessageCmd(id string) tea.Cmd {
return func() tea.Msg {
exec.Command("postsuper", "-d", id).Run()
return nil
}
}
func requeueMessageCmd(id string) tea.Cmd {
return func() tea.Msg {
exec.Command("postsuper", "-r", id).Run()