feat: cmd+shift+delete deletes the highlighted conversation #11

Merged
adrianbonpin merged 1 commits from feat/delete-shortcut into prod 2026-10-03 21:45:11 +00:00
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 | | `↩` | Send the message in the search bar |
| `↩` with an empty bar | Open the highlighted conversation | | `↩` with an empty bar | Open the highlighted conversation |
| `⌘ N` | New chat | | `⌘ 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. 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.
+3
View File
@@ -235,6 +235,9 @@ export function ChatView({ initialSession, initialPrompt }: ChatViewProps) {
title="Delete Conversation" title="Delete Conversation"
icon={Icon.Trash} icon={Icon.Trash}
style="destructive" style="destructive"
// The key macOS labels "delete" is backspace. Vicinae's key map has
// `"backspace" -> Qt::Key_Backspace`, which it renders as the ⌫ token.
shortcut={{ key: "backspace", modifiers: ["cmd", "shift"] }}
onAction={() => removeSession(row.id)} onAction={() => removeSession(row.id)}
/> />
</ActionPanel> </ActionPanel>
+2 -1
View File
@@ -94,7 +94,8 @@ export default function SessionsCommand() {
title="Delete Conversation" title="Delete Conversation"
icon={Icon.Trash} icon={Icon.Trash}
style="destructive" style="destructive"
shortcut={{ key: "backspace", modifiers: ["cmd"] }} // Matches the chat view, so one shortcut means one thing across both commands.
shortcut={{ key: "backspace", modifiers: ["cmd", "shift"] }}
onAction={() => remove(summary.id)} onAction={() => remove(summary.id)}
/> />
<Action <Action