From b07e7f2b4e08de1025428234f366ad2b8e565eac Mon Sep 17 00:00:00 2001 From: hiro <417969567@qq.com> Date: Sun, 11 Jan 2026 21:41:01 +0800 Subject: [PATCH 1/4] feat(tui): add header visibility toggle --- .../src/cli/cmd/tui/routes/session/index.tsx | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) 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 d36a7d209940..2cb635377de1 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -146,6 +146,7 @@ export function Session() { const [showDetails, setShowDetails] = kv.signal("tool_details_visibility", true) const [showAssistantMetadata, setShowAssistantMetadata] = kv.signal("assistant_metadata_visibility", true) const [showScrollbar, setShowScrollbar] = kv.signal("scrollbar_visible", false) + const [showHeader, setShowHeader] = kv.signal("header_visible", true) const [diffWrapMode] = kv.signal<"word" | "none">("diff_wrap_mode", "word") const [animationsEnabled, setAnimationsEnabled] = kv.signal("animations_enabled", true) @@ -550,6 +551,24 @@ export function Session() { dialog.clear() }, }, + { + title: showHeader() ? "Hide header" : "Show header", + value: "session.toggle.header", + category: "Session", + onSelect: (dialog) => { + setShowHeader((prev) => !prev) + dialog.clear() + }, + }, + { + title: showHeader() ? "Hide header" : "Show header", + value: "session.toggle.header", + category: "Session", + onSelect: (dialog) => { + setShowHeader((prev) => !prev) + dialog.clear() + }, + }, { title: "Toggle session scrollbar", value: "session.toggle.scrollbar", @@ -942,7 +961,9 @@ export function Session() { -
+ +
+ (scroll = r)} From 33d47ee56245dd69f71099f829e8a8f9be60ed08 Mon Sep 17 00:00:00 2001 From: hiro <417969567@qq.com> Date: Mon, 2 Feb 2026 16:53:40 +0800 Subject: [PATCH 2/4] fix: duplicate defination --- .../opencode/src/cli/cmd/tui/routes/session/index.tsx | 9 --------- 1 file changed, 9 deletions(-) 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 2cb635377de1..e45a0ba8fa1d 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -560,15 +560,6 @@ export function Session() { dialog.clear() }, }, - { - title: showHeader() ? "Hide header" : "Show header", - value: "session.toggle.header", - category: "Session", - onSelect: (dialog) => { - setShowHeader((prev) => !prev) - dialog.clear() - }, - }, { title: "Toggle session scrollbar", value: "session.toggle.scrollbar", From 908e5547579bc6a53e5b3e2e6e797e350ba68cc8 Mon Sep 17 00:00:00 2001 From: hiro <417969567@qq.com> Date: Mon, 9 Feb 2026 14:35:54 +0800 Subject: [PATCH 3/4] feat(tui): move header toggle to global system commands --- packages/opencode/src/cli/cmd/tui/app.tsx | 9 +++++++++ .../opencode/src/cli/cmd/tui/routes/session/index.tsx | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx index 10d7a25f88f9..c3c91baf0aab 100644 --- a/packages/opencode/src/cli/cmd/tui/app.tsx +++ b/packages/opencode/src/cli/cmd/tui/app.tsx @@ -580,6 +580,15 @@ function App() { dialog.clear() }, }, + { + title: kv.get("header_visible", true) ? "Hide header" : "Show header", + value: "session.toggle.header", + category: "System", + onSelect: (dialog) => { + kv.set("header_visible", !kv.get("header_visible", true)) + dialog.clear() + }, + }, ]) createEffect(() => { 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 e45a0ba8fa1d..bde1e76da707 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -551,15 +551,6 @@ export function Session() { dialog.clear() }, }, - { - title: showHeader() ? "Hide header" : "Show header", - value: "session.toggle.header", - category: "Session", - onSelect: (dialog) => { - setShowHeader((prev) => !prev) - dialog.clear() - }, - }, { title: "Toggle session scrollbar", value: "session.toggle.scrollbar", From a90aa0b4515c88c05cd645dfb8cbb93688615279 Mon Sep 17 00:00:00 2001 From: hiro <417969567@qq.com> Date: Mon, 9 Feb 2026 14:39:07 +0800 Subject: [PATCH 4/4] fix(tui): remove unused setShowHeader setter --- packages/opencode/src/cli/cmd/tui/routes/session/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 bde1e76da707..ca0d27c679d9 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -146,7 +146,7 @@ export function Session() { const [showDetails, setShowDetails] = kv.signal("tool_details_visibility", true) const [showAssistantMetadata, setShowAssistantMetadata] = kv.signal("assistant_metadata_visibility", true) const [showScrollbar, setShowScrollbar] = kv.signal("scrollbar_visible", false) - const [showHeader, setShowHeader] = kv.signal("header_visible", true) + const [showHeader] = kv.signal("header_visible", true) const [diffWrapMode] = kv.signal<"word" | "none">("diff_wrap_mode", "word") const [animationsEnabled, setAnimationsEnabled] = kv.signal("animations_enabled", true)