Repository navigation
feat(app): put the bottom panel on the right of the terminal - #158
Merged
Merged
Conversation
The bottom panel's tab row context menu gets "Move panel to right side" and "Move panel to bottom". On the right the panel is a full-height column beside the terminal and its command bar, rightPanelWidth wide (420 DIPs by default, at least 410), kept from the window's right edge, dragged, reset by a double click and saved with the other pane sizes. Hidden on the right, the column goes away and a thin strip at the terminal's right edge keeps the "Show panel" button. The side is bottomPanelSide in settings.json, kept on this computer. The right column is a function that takes an optional top (the monitor, for #152) and bottom (the panel). The panel's tabs now scroll sideways where they do not fit, and the Processes and Network filter fields shrink, so the toolbar buttons stay in the narrow column. Closes #151 Refs #143 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015nMqJHsqtndDSqJDPp1qYv
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
The right column is 460 DIPs wide by default (the minimum stays 410). A plain vertical wheel, or a vertical touchpad swipe, over the bottom panel's tab row scrolls the tabs sideways while they do not fit, so the last tabs can be reached in the narrow column without Shift. Refs #151 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015nMqJHsqtndDSqJDPp1qYv
This was referenced Nov 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The bottom panel can now sit in a column on the right of the terminal, for wide screens where the terminal needs the height more than the width.
bottomPanelMenu) gets "Move panel to right side" / "Move panel to bottom", after a separator under Hide/Show panel.rightPanelWidthwide: 460 DIPs by default, at least 410 (what the Processes details' fields-and-environment split needs, 200 + 200 + the divider, so the inner dividers keep working), and the terminal keeps at least 320. It is dragged, a double click resets it, and it is saved throughsaveLayout/restoreLayout.ui.Splitsizes its first pane, sowithRightColumnlays the split out in the opposite direction (its first pane is then the end one, which is the column) and sets each pane back to the window's own direction. Dragging, the arrow keys andSplitResetall work in column DIPs with no per-frame arithmetic. The other option, a left-to-right split sized towidth - rightWidthfrom last frame's bounds, lags one frame on resize and makes the reset value depend on the window.withRightColumn(c, main, top, bottom)/rightColumn(c, top, bottom)ininternal/app/rightcolumn.goare written for feat(app): put the server monitor on the right of the terminal #152: the monitor goes in astop, the panel asbottom. When both are there they split withSplitVerticalPercentona.rightMonitorPct(default 45,rightMonitorLimits). Only the panel goes in for now. TherightMonitorPercentsettings key is left to feat(app): put the server monitor on the right of the terminal #152.chevron-left.svgfrom Lucide) and the panel's context menu. The hide button in the tab row is a chevron right. The shortcut, and anything that callsopenBottomTab(such as the monitor's process list), show it again.ScrollHorizontalwith hidden scrollbars, tracked by aui.ScrollState. ItsHandleInputhook (tabsWheel) turns a plain vertical wheel, or a vertical touchpad swipe, over the tab row into sideways scrolling while the tabs do not fit (down goes toward the last tab). When they fit, or the scroll is sideways or has Ctrl, the event goes on as before.go run ./tools/screenshotsproduced identical README images.bottomPanelSide(""/"right") andrightPanelWidthare added toconfig.SettingsandlocalSettings. Docs: features.md (Window layout; Layout and split dividers) and configuration.md (the table and the local-keys list), English and Simplified Chinese.Closes #151
Refs #143
Testing
internal/app/rightcolumn_test.go:TestPanelOnRight: move right and back with the menu; side saved and read back; the terminal gets more rows and fewer columns.TestRightPanelWidth: drag the divider; width saved and read back; terminal and column limits; double-click reset; the width stays fixed when the window grows.TestPanelHiddenOnRight: hide and show with the button and the shortcut; the monitor's process click shows it; the strip's menu moves it back to the bottom, still collapsed; a panel row is unaffected; full screen.TestPanelOnRightTabDividers: the Processes list/fields and Network list dividers drag, save, restore and reset at 460 and 410 DIPs.TestPanelTabsWheel: at 410 DIPs the Commands tab is cut off. A vertical wheel over the tab row brings all of it into view without moving the buttons, the wheel back up returns to Files, and a wheel over the terminal leaves the tabs alone. The test fails with the hook removed.gofmt -l .(go.mod toolchain) prints nothing.go build ./...,go vet ./...,GOOS=windows go vet .,GOOS=darwin go vet .andgo tool mygo vetpass.go test -race ./...passes exceptTestArchiveTreeMenu, which also fails on main in this sandbox (it tars the real /tmp).c.Direction()).🤖 Generated with Claude Code
https://claude.ai/code/session_015nMqJHsqtndDSqJDPp1qYv