diff options
| author | franlol <[email protected]> | 2025-12-05 21:49:05 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-12-05 14:49:05 -0600 |
| commit | b03b9b9017dafcf64244207a263414baaf0f812e (patch) | |
| tree | ba90a8b480592b6f4f45b498400e93759b8ff9f2 /packages | |
| parent | 73258c619369fbc9dc0250a1ea19f0e7ae03d7e7 (diff) | |
| download | opencode-b03b9b9017dafcf64244207a263414baaf0f812e.tar.gz opencode-b03b9b9017dafcf64244207a263414baaf0f812e.zip | |
feat: add optional scrollbar to the session chat (#5116)
Co-authored-by: Sebastian <[email protected]>
Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Co-authored-by: rekram1-node <[email protected]>
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/src/cli/cmd/tui/routes/session/index.tsx | 21 | ||||
| -rw-r--r-- | packages/opencode/src/config/config.ts | 1 |
2 files changed, 19 insertions, 3 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 507b2186e..b28010ac6 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -120,6 +120,7 @@ export function Session() { const [showTimestamps, setShowTimestamps] = createSignal(kv.get("timestamps", "hide") === "show") const [usernameVisible, setUsernameVisible] = createSignal(kv.get("username_visible", true)) const [showDetails, setShowDetails] = createSignal(kv.get("tool_details_visibility", true)) + const [showScrollbar, setShowScrollbar] = createSignal(kv.get("scrollbar_visible", false)) const [diffWrapMode, setDiffWrapMode] = createSignal<"word" | "none">("word") const wide = createMemo(() => dimensions().width > 120) @@ -495,6 +496,20 @@ export function Session() { }, }, { + title: "Toggle session scrollbar", + value: "session.toggle.scrollbar", + keybind: "scrollbar_toggle", + category: "Session", + onSelect: (dialog) => { + setShowScrollbar((prev) => { + const next = !prev + kv.set("scrollbar_visible", next) + return next + }) + dialog.clear() + }, + }, + { title: "Page up", value: "session.page.up", keybind: "messages_page_up", @@ -840,9 +855,9 @@ export function Session() { </Show> <scrollbox ref={(r) => (scroll = r)} - scrollbarOptions={{ - paddingLeft: 2, - visible: false, + verticalScrollbarOptions={{ + paddingLeft: 1, + visible: showScrollbar(), trackOptions: { backgroundColor: theme.backgroundElement, foregroundColor: theme.border, diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index d30b20860..d38de8a94 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -404,6 +404,7 @@ export namespace Config { editor_open: z.string().optional().default("<leader>e").describe("Open external editor"), theme_list: z.string().optional().default("<leader>t").describe("List available themes"), sidebar_toggle: z.string().optional().default("<leader>b").describe("Toggle sidebar"), + scrollbar_toggle: z.string().optional().default("none").describe("Toggle session scrollbar"), username_toggle: z.string().optional().default("none").describe("Toggle username visibility"), status_view: z.string().optional().default("<leader>s").describe("View status"), session_export: z.string().optional().default("<leader>x").describe("Export session to editor"), |
