Current behavior
Space selects multiple threads in the mail list, but most actions still apply only to the thread under the cursor.
For example:
- Select several threads with Space.
- Press
e.
Only the highlighted thread is marked seen. The other threads remain selected.
This makes Space look like general multi-selection even though the selection is currently used only by Ctrl+B for bulk reply.
Proposed behavior
Treat a non-empty Space selection as a selection mode with a small set of supported actions:
e marks all selected threads seen.
u marks all selected threads unseen.
Ctrl+B starts a bulk reply.
- Space toggles the thread under the cursor.
- Escape clears the selection.
The help bar could show:
3 selected • e seen • u unseen • ctrl+b bulk reply • space toggle • esc clear
Other mail actions should not run while selection mode is active. If someone presses an unsupported key, the TUI could leave the mail unchanged and show:
3 threads selected — choose a bulk action or press Esc to clear
After a successful action, the TUI should clear the selection and refresh the current box. If the action fails, it should keep the selection so the user can retry.
Existing Escape behavior should keep priority. An open modal should close first, a pending request should cancel first, and a thread should close first. Escape would clear the selection only from the normal mail list.
Scope
The existing SDK already accepts multiple posting IDs for seen and unseen, so this should not need server or SDK changes.
This proposal does not add bulk move, trash, spam, ignore, labels, or collections. Those actions have different safety and confirmation needs and can be considered separately.
Would this be a good direction for Space selection in the TUI?
Current behavior
Space selects multiple threads in the mail list, but most actions still apply only to the thread under the cursor.
For example:
e.Only the highlighted thread is marked seen. The other threads remain selected.
This makes Space look like general multi-selection even though the selection is currently used only by
Ctrl+Bfor bulk reply.Proposed behavior
Treat a non-empty Space selection as a selection mode with a small set of supported actions:
emarks all selected threads seen.umarks all selected threads unseen.Ctrl+Bstarts a bulk reply.The help bar could show:
3 selected • e seen • u unseen • ctrl+b bulk reply • space toggle • esc clearOther mail actions should not run while selection mode is active. If someone presses an unsupported key, the TUI could leave the mail unchanged and show:
3 threads selected — choose a bulk action or press Esc to clearAfter a successful action, the TUI should clear the selection and refresh the current box. If the action fails, it should keep the selection so the user can retry.
Existing Escape behavior should keep priority. An open modal should close first, a pending request should cancel first, and a thread should close first. Escape would clear the selection only from the normal mail list.
Scope
The existing SDK already accepts multiple posting IDs for seen and unseen, so this should not need server or SDK changes.
This proposal does not add bulk move, trash, spam, ignore, labels, or collections. Those actions have different safety and confirmation needs and can be considered separately.
Would this be a good direction for Space selection in the TUI?