From 0e5941e2eaecb7fbecc78b3865ced83582a16065 Mon Sep 17 00:00:00 2001 From: Alex Alecu Date: Wed, 18 Mar 2026 14:13:38 +0200 Subject: [PATCH] feat(cli): ring bell when task completes in TUI Watch session status transitions to idle and write BEL to bounce the dock icon / flash the taskbar. --- .../src/cli/cmd/tui/routes/session/index.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index 42c0b59d29c..796a27a8331 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -84,6 +84,7 @@ import { UI } from "@/cli/ui.ts" import { useTuiConfig } from "../../context/tui-config" import { formatMarkdownTables } from "../../util/markdown" // kilocode_change +import { bell } from "@/kilocode/bell" // kilocode_change addDefaultParsers(parsers.parsers) @@ -149,6 +150,17 @@ export function Session() { return messages().findLast((x) => x.role === "assistant") }) + // kilocode_change start - ring terminal bell on task completion + createEffect( + on( + () => sync.data.session_status?.[route.sessionID]?.type, + (type, prev) => { + if (prev && prev !== "idle" && type === "idle") bell() + }, + ), + ) + // kilocode_change end + const dimensions = useTerminalDimensions() const [sidebar, setSidebar] = kv.signal<"auto" | "hide">("sidebar", "auto") const [sidebarOpen, setSidebarOpen] = createSignal(false)