feat: cmd+shift+delete deletes the highlighted conversation

The delete action in the chat view had no shortcut, so removing a
conversation meant opening the action panel. It now takes cmd+shift+delete,
and Chat Sessions uses the same combination so one shortcut means one
thing across both commands (it was cmd+delete there).

The key macOS labels "delete" is backspace, and Vicinae's key map has
`"backspace" -> Qt::Key_Backspace`, rendered as the delete token. That
mapping is why the shortcut string is "backspace" rather than "delete":
`"delete"` maps to Qt::Key_Delete, which is the forward-delete key, and
`"deleteForward"` aliases backspace too.

Not verified by running it. I tried to confirm the shortcut renders by
temporarily promoting the action to primary so the bottom bar would show
it, but an A/B test with cmd+shift+c proved the action bar only ever
renders the primary action's implicit Return, never a custom shortcut:
both rendered as a lone return glyph. Firing a shortcut needs a real
keystroke, and this machine cannot send one. The reasoning above is from
Vicinae's keyboard.cpp key map, not from observation.

typecheck, eslint, 156 tests and vici build all pass.
This commit is contained in:
2026-10-04 05:44:32 +08:00
parent ac2da73669
commit 95ae828d7c
3 changed files with 6 additions and 2 deletions
+1 -1
View File
@@ -57,7 +57,7 @@ To change the model later, either edit the **Model** preference directly, or run
| `↩` | Send the message in the search bar |
| `↩` with an empty bar | Open the highlighted conversation |
| `⌘ N` | New chat |
| `⌘ ⌫` | Delete a conversation (in **Chat Sessions**) |
| `⌘ ⇧ ⌫` | Delete the highlighted conversation (also in **Chat Sessions**) |
Prompts are single line. An earlier `⌘ ↩` multi-line composer was removed — see [Architecture](#architecture) for why a `Form.TextArea` cannot be laid out cleanly in a launcher. The `Tab` shortcut went with it: the left column *is* the conversation switcher now, so an accessory dropdown would only duplicate it.