ui: collapsible Workbench side panes - Projects toggles from its button, Assistant like the bottom pane (#7492) - #7499
Merged
delchev merged 2 commits intoSep 25, 2026
Conversation
…ble#7492) eclipse-dirigible#7497 put the collapsible Projects/Assistant panes into the shared platform-core layout, so the collapse chevron and the 41px rail min-size leaked into every perspective that uses <layout> (operations, processes, jobs, database, monitoring, security, tracing, messaging, git), replacing their first panel's expand chevron and blocking drag-to-0 on the side panes. Make the feature opt-in and enable it only in the Workbench: - layout.js: restore the side-pane min-size defaults to 0; add a collapsibleSidePanes flag (default false). When on, the min-size floor is raised to the 41px rail so the collapse chevron stays reachable. - layout.html: the accordion's region attribute is now conditional on collapsibleSidePanes, so without it the accordion renders the original bk-panel-expand chevron. The shared split.js/layout.css additions stay but only act on a .pane-collapsed pane, which now occurs only in the Workbench. - workbench.js: set collapsibleSidePanes: true. Verified: formatter:validate is not applicable (JS/HTML only); quick-build reactor install of platform-core + perspective-workbench + application, app boots clean and serves the updated resources. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…n, Assistant like the bottom pane (eclipse-dirigible#7492) Replaces the shared collapse-to-rail feature (which leaked its chevron and 41px floor into every perspective that uses <layout>) with behaviour scoped to the Workbench via opt-in layoutSettings flags. The plain accordion expand chevron is restored everywhere by default. Projects (left) pane: - Re-clicking the active Workbench activity-bar button opens/closes it (shell publishes a LayoutHub message; layout gated on leftPaneToggle). - Collapses fully to 0 and reopens at a fixed 350px (leftPaneExpandSize). Assistant (right) pane: - Opt-in (rightPaneCollapsible) renders it like the Console/Terminal bottom pane: a tab bar whose header X collapses the whole pane to 0 (no rail), reopened from Window > Views > Assistant. Other right-pane perspectives (e.g. Git staging) keep the plain accordion. split.js: a collapsed side pane restores by lastSize presence (handles a 0 collapse) and reopens taking width only from the adjacent center pane, so the opposite side pane stays exactly where it was. Tests: guarded IDE.openWorkbench() so it only clicks the button when switching in (a fresh IDE already lands on the Workbench, where a re-click would now toggle Projects); rewrote WorkbenchSidePaneToggleIT for the new button toggle plus a non-opted-in perspective guard. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Problem (#7492)
In the Workbench the Projects (left) and Assistant (right) regions take a large fixed slice of horizontal width with no way to reclaim it for the editor. The prior attempt (#7497) put a collapse-to-rail mechanism into the shared
platform-corelayout, which leaked the rail chevron and a 41px min-size floor into every perspective that uses<layout>.Change
The shared rail mechanism is reverted (every perspective gets its plain accordion expand chevron and drag-to-0 side panes back), and the collapse behaviour is reworked and scoped to the Workbench via opt-in
layoutSettingsflags.Projects (left) pane
LayoutHub.toggleLeftPane()message; the layout acts only whenleftPaneToggleis set (Workbench only).leftPaneExpandSize).Assistant (right) pane
rightPaneCollapsible) renders it like the Console/Terminal bottom pane: a tab bar whose headerXcollapses the whole pane to 0 (no rail left behind), reopened from Window > Views > Assistant (the same path the bottom views use). Other right-pane perspectives (e.g. Git staging) keep the plain accordion.split.jslastSizepresence (not a strict 0-width check), and reopening takes width only from the adjacent center pane, so the opposite side pane stays exactly where it was (fixes Projects shrinking when the Assistant reopens).Tests
IDE.openWorkbench()so it clicks the perspective button only when switching in from another perspective (a fresh IDE already lands on the Workbench, where a re-click now toggles Projects).WorkbenchSidePaneToggleITfor the new button toggle plus a non-opted-in-perspective guard.Verification
platform-core+perspective-workbench+application); app boots clean and serves the updated resources.mvn formatter:validate(cache wiped) green on the changed Java modules.Fixes #7492