diff --git a/packages/tui/src/component/prompt/index.tsx b/packages/tui/src/component/prompt/index.tsx index e1481ab74c..233ccb0e17 100644 --- a/packages/tui/src/component/prompt/index.tsx +++ b/packages/tui/src/component/prompt/index.tsx @@ -452,7 +452,6 @@ export function Prompt(props: PromptProps) { title: "Queue prompt", name: "prompt.queue", category: "Prompt", - palette: undefined, run: async (_input: string | undefined, event?: KeyEvent) => { event?.preventDefault() event?.stopPropagation() diff --git a/packages/tui/src/config/keybind.ts b/packages/tui/src/config/keybind.ts index 2864ef0b21..e7cc454773 100644 --- a/packages/tui/src/config/keybind.ts +++ b/packages/tui/src/config/keybind.ts @@ -178,7 +178,7 @@ export const Definitions = { "session.toggle.thinking": keybind("none", "Toggle thinking blocks visibility"), "prompt.submit": keybind("none", "Submit prompt"), - "prompt.queue": keybind("alt+return", "Queue prompt"), + "prompt.queue": keybind("return", "Queue prompt"), "prompt.editor_context.clear": keybind("none", "Clear editor context"), "prompt.images.view": keybind("i", "View image attachments"), "prompt.skills": keybind("none", "Open skill selector"), diff --git a/packages/tui/src/config/v1/keybind.ts b/packages/tui/src/config/v1/keybind.ts index 9456087687..cec2467e6c 100644 --- a/packages/tui/src/config/v1/keybind.ts +++ b/packages/tui/src/config/v1/keybind.ts @@ -163,7 +163,7 @@ export const Definitions = { display_thinking: keybind("none", "Toggle thinking blocks visibility"), prompt_submit: keybind("none", "Submit prompt"), - prompt_queue: keybind("alt+return", "Queue prompt"), + prompt_queue: keybind("return", "Queue prompt"), prompt_editor_context_clear: keybind("none", "Clear editor context"), prompt_images_view: keybind("i", "View image attachments"), prompt_skills: keybind("none", "Open skill selector"), diff --git a/packages/tui/src/mini/footer.prompt.tsx b/packages/tui/src/mini/footer.prompt.tsx index c37d74382c..488cbf6859 100644 --- a/packages/tui/src/mini/footer.prompt.tsx +++ b/packages/tui/src/mini/footer.prompt.tsx @@ -1050,6 +1050,7 @@ export function createPromptState(input: PromptInput): PromptState { id: "prompt.queue", title: "Queue prompt", group: "Prompt", + palette: true, run() { syncDraft() submitPrompt(promptCopy(draft), "queue") diff --git a/packages/tui/src/mini/footer.view.tsx b/packages/tui/src/mini/footer.view.tsx index 025f52b432..efb333e6b1 100644 --- a/packages/tui/src/mini/footer.view.tsx +++ b/packages/tui/src/mini/footer.view.tsx @@ -595,7 +595,7 @@ export function RunFooterView(props: RunFooterViewProps) { { id: "session.queued_prompts", title: "View queued prompts", - group: "Session", + group: "Prompt", run: openQueuedMenu, }, ], diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx index 1454749dcd..ed2fb307b2 100644 --- a/packages/tui/src/routes/session/index.tsx +++ b/packages/tui/src/routes/session/index.tsx @@ -1062,7 +1062,7 @@ export function Session(props: { verticalTabsWidth: number }) { { title: "View queued prompts", id: "session.queued_prompts", - group: "Session", + group: "Prompt", enabled: queuedPrompts().length > 0, run: openQueuedPrompts, }, diff --git a/packages/tui/test/config-v2.test.tsx b/packages/tui/test/config-v2.test.tsx index a0d5f15ee2..bea94cb14b 100644 --- a/packages/tui/test/config-v2.test.tsx +++ b/packages/tui/test/config-v2.test.tsx @@ -107,6 +107,7 @@ test("preserves migrated v1 keybind defaults", () => { const pairs = [ ["app.exit", "app_exit"], ["prompt.paste", "input_paste"], + ["prompt.queue", "prompt_queue"], ["session.delete", "session_delete"], ["session.list", "session_list"], ["agent.list", "agent_list"], diff --git a/packages/tui/test/mini/footer.view.test.tsx b/packages/tui/test/mini/footer.view.test.tsx index f37aa07b33..acef1c999c 100644 --- a/packages/tui/test/mini/footer.view.test.tsx +++ b/packages/tui/test/mini/footer.view.test.tsx @@ -981,7 +981,8 @@ test("direct footer steers the oldest queued prompt from an empty composer", asy try { await app.renderOnce() - app.mockInput.pressEnter({ meta: true }) + app.mockInput.pressKey("x", { ctrl: true }) + app.mockInput.pressEnter() await Bun.sleep(0) expect(steered).toEqual([]) app.mockInput.pressEnter() @@ -1034,7 +1035,8 @@ test("direct footer rejects local commands submitted with the queue shortcut", a try { await app.renderOnce() await app.mockInput.typeText("/settings ") - app.mockInput.pressEnter({ meta: true }) + app.mockInput.pressKey("x", { ctrl: true }) + app.mockInput.pressEnter() await Bun.sleep(0) expect(submitted).toEqual([]) expect(statuses).toContain("this prompt cannot be queued") diff --git a/packages/tui/test/mini/runtime.boot.test.ts b/packages/tui/test/mini/runtime.boot.test.ts index 5a08ce02bf..8f5c37794d 100644 --- a/packages/tui/test/mini/runtime.boot.test.ts +++ b/packages/tui/test/mini/runtime.boot.test.ts @@ -22,7 +22,7 @@ describe("run runtime boot", () => { expect(result.keybinds.get("prompt.clear")?.[0]?.key).toBe("ctrl+c") expect(result.keybinds.get("input.submit")?.[0]?.key).toBe("return") expect(result.keybinds.get("input.newline")?.[0]?.key).toBe("shift+return,ctrl+return,ctrl+j") - expect(result.keybinds.get("prompt.queue")?.[0]?.key).toBe("alt+return") + expect(result.keybinds.get("prompt.queue")?.[0]?.key).toBe("return") }) test("preserves shared config while resolving independent Mini defaults", async () => {