Skip to content

feat(app): hide and show the bottom panel - #156

Merged
TooonyChen merged 2 commits into
mainfrom
feature/hide-bottom-panel
Nov 9, 2026
Merged

TooonyChen merged 2 commits into
mainfrom
feature/hide-bottom-panel

Conversation

@TooonyChen

Copy link
Copy Markdown
Owner

Summary

The bottom panel (Files, Transfers, Tunnels, Processes, Network, Commands) can now collapse to its row of tabs. When it does, the terminal takes the rest of the height.

  • A chevron button sits at the right end of the tab row, before "Open in its own tab". It shows a chevron down with "Hide panel" while the panel is open, and a chevron up with "Show panel" while it is collapsed. Lucide's chevron-up.svg is added for it.
  • The tab row has a new context menu with "Hide panel" / "Show panel". It is one function (bottomPanelMenu in internal/app/panelhide.go), so feat(app): put the bottom panel on the right of the terminal #151 can add "Move panel to right side" to it.
  • New shortcut "Show or hide the bottom panel": Cmd+J on macOS, Ctrl+Shift+J elsewhere. It is on the Shortcuts page and can be changed there (shortcuts.toggleBottomPanel). It does nothing in full screen or on a panel row.
  • While the panel is collapsed, its tabs show none as chosen. Clicking any tab label, including the last one shown, opens the panel on that tab. terminalPct is kept, so the panel opens at the height it had.
  • openProcesses now goes through openBottomTab, which also opens a collapsed panel. A click on the monitor's process list was the only place that set a.bottomTab.
  • The state is bottomPanelHidden in settings.json. It is saved and restored with the pane sizes (saveLayout / restoreLayout) and listed in localSettings, so it is not synced.
  • mainArea: while collapsed, it draws the terminal and the tab row in a column instead of the split (collapsedMainArea). Panel rows and full screen are unchanged. The tab row moved from bottomPanel into panelTabRow.
  • Docs: features.md (Window layout, Keyboard shortcuts with a note, Terminal › Shortcuts key names, Layout and split dividers) and configuration.md (the key, and the local-settings list), in English and Chinese. The shortcut is also added to the README tables in both languages.
  • docs/screenshots was regenerated with go run ./tools/screenshots. The main, quick-connect and quick-commands scenes now show the new chevron button.

Closes #149
Refs #143

Testing

  • New tests in internal/app/panelhide_test.go:
    • The button collapses and opens the panel. The tab row moves to the bottom, the process page goes away, the terminal background shows where the page was, and the panel opens again on the same tab at the same terminalPct.
    • The shortcut and the context menu collapse and open the panel.
    • Clicking a tab label (Network, and the current Processes) opens a collapsed panel on that tab.
    • The key does nothing in full screen.
    • A click on the monitor's process list opens a collapsed panel on Processes.
    • A panel row ignores the setting and its button.
    • bottomPanelHidden is saved and read back by New, and the start page with a collapsed panel lays out correctly.
  • TestShortcutDefaults now expects the new defaults (⌘J, Ctrl+Shift+J). Its checks pass: the key is accepted, clashes with nothing and is not a terminal keybind.
  • gofmt -l . is empty (with the go.mod toolchain's gofmt). These all pass: go build ./..., go vet ./..., GOOS=windows go vet ., GOOS=darwin go vet ., go tool mygo vet, go test -race ./....
  • Headless screenshots were checked by eye, collapsed and open, in English and Simplified Chinese: panel-open-en/zh, panel-collapsed-en/zh, panel-collapsed-start-en (not committed).
  • Not tested: a real window on macOS or Windows (the Cmd+J and Ctrl+Shift+J keys were only exercised through the headless tester), and TestSSH against a real server.

Generated by Claude Code

@chatgpt-codex-connector

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ❌ Failed 2026-11-09T20:59:00.211360Z
We couldn’t complete this review. Comment @codex review to try again.
cc48a98 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

The bottom panel collapses to its row of tabs and the terminal takes the
height. A chevron button at the right end of the tab row, the row's new
context menu and the shortcut "Show or hide the bottom panel" (Cmd+J on
macOS, Ctrl+Shift+J elsewhere) collapse and open it; a click on a tab
label of the collapsed panel opens it on that tab, as does the server
monitor's process list. The state is bottomPanelHidden in settings.json,
saved with the pane sizes and not synced.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015nMqJHsqtndDSqJDPp1qYv
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015nMqJHsqtndDSqJDPp1qYv
@TooonyChen
TooonyChen force-pushed the feature/hide-bottom-panel branch from cc48a98 to 473c737 Compare November 9, 2026 21:21
@TooonyChen
TooonyChen merged commit 975dc17 into main Nov 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(app): hide and show the bottom panel

2 participants