add the split button control (c64b8ca )
example: demonstrate both split-button tiers (466f258 )
theme: carry the three missing button.* colours (947f18e )
chrome: close three panel and status bar gaps against canon (983b6a2 )
layout: sit a side bar's sash on the seam it drags (f9a984e )
content: re-answer the focus ring on each gain of the header's focus (75d1581 )
content: ring a pane header for keyboard focus only (c92e6b9 )
layout: hold the activity bar's zones off the card edges (b2ece99 )
layout: tighten the part title band to the treatment's 32px (95b3516 )
notifications: round the card surfaces at the card tier (e9ff5d4 )
status-bar: inset the rail and round its items as pills (dd6b777 )
chrome: render chrome titles in the host's casing (f4c3a80 )
layout: inset part titles at the canon part and label tiers (aedd6dd )
layout: mark inter-part sashes with the canon grip (a5747a7 )
theme: ground the workbench on the title bar backdrop (a045f0d )
layout: gate the Modern UI treatment behind a host flag (8a89bca )
example: make every select select-only, not a text entry (2a2af15 )
chrome: drop the status bar's top hairline (f8d556d )
layout: take the editor's height from the band, not its contents (425c7a3 )
chrome: match the pane header to its surface at rest (cfce2f1 )
chrome: size popup menu rows to VS Code's metrics (c05e623 )
example: demonstrate the chrome-themed select (539602c )
theme: add the three missing dropdown.* colors (4d9693d ), closes #F0F0F0 #CECECE
theming: bring the menu and select family under the chrome (7653834 ), closes #30
theming: give a host's menu separator the menu hairline (4013d60 )
layout: apply simplify-gate findings to the density seam (530121c )
layout: let the seam's owner draw it in either position (6a45e85 )
example: add a Density control to the View menu (dd4fb0d )
expose layout density as a host-configurable property (abaf2a8 )
view-pane: apply simplify-gate findings to the header treatment (3b54eca )
view-pane: keep the whole header band clickable (71c5a1f )
view-pane: adopt VS Code's Modern UI pane header metrics (24f3626 )
api: hide the internal menu style builders from the barrel (e04b4ee )
theme: paint popup menus from VS Code's menu.* tokens (3275f6e )
layout: apply simplify-gate findings to the card treatment (e02a4c6 )
frame the editor area with a Modern UI hairline border (ab8342c )
frame the side bars and bottom panel as Modern UI cards (560b8d8 )
give the activity bar its Modern UI rail and filled item indicator (6a193fd )
example: merge the single-view member and add a multi-pane member (f3424ce )
replace the secondary side bar's single container with membership tabs (7359a36 )
view-container: source the composite title from the spec (4180181 )
example: persist and restore layout state across restarts (52ee97d )
layout: add serializable WorkbenchLayoutState model (a53c886 )
layout: expose aggregate layout-state seam (2e1b5cd )
view-container: add copyWith to WorkbenchViewContainerSpec and WorkbenchViewDescriptor (2d53afd )
example: move file actions to the Folders view, not the Explorer container title (15b7629 )
view-container: inline Views toggles when they are the overflow's only group (43761d3 )
view-container: add view menuLabel for a distinct Views-menu label (bd0f9a2 )
view-container: Views overflow menu and per-view visibility (6e65b7b )
example: nest Align Panel inside Appearance to match canon (61460a0 )
example: order Appearance toggles to match canon (Status Bar before Panel) (4b033a2 )
example: rewire View menu to the canon submenu/checkable model (d626c03 )
extend View menu to a WorkbenchMenuEntry descriptor tree (196a9cc )
example: cycle panel alignment from the View menu (508c0e1 )
layout: align the bottom panel by re-parenting it (dc189aa )
layout: expose status bar visibility as a host property (beae6e3 ), closes #77
layout: add secondary side bar on the editor's opposite edge (c270e66 )
layout: expose primary side bar visibility as a host property (fb641ca )
example: match canon — 'Move Primary Side Bar Right/Left' menu label (a173f41 )
layout: preserve side bar state when moving it across edges (70ac087 )
workbench-layout: primary side bar left/right position (1f19a44 )
sash: reset sidebar, panel, and view-pane seams on double-click (b767863 )
workbench-layout: own resize geometry, seed-plus-commit (45b8b8e ), closes #68
workbench-layout: add Zen and Centered editing modes (a80f83e )
example: persist sidebar width and panel height across restarts (04440a0 )
layout: expose sidebar width and panel height as host-persistable hooks (c3d1665 )
example: drop disk persistence; keep layout hooks in-memory (171cb00 )
view-pane: add per-pane maximumBodySize with canon clamp (31e33ed )
view-pane: keep header focus across the collapse reparent (a857648 )
view-pane: clear the header focus ring on a tap outside (1a43daf )
view-pane: focusable header with focus ring and per-pane keys (b1c047c )
view-stack: up/down focus traversal between pane headers (c30de5c )
view-stack: model sash sizes as proportional weights that always fill (ecdd4a3 )
view-container: host-persistable sash sizing via sizes/onSizesChanged (28c669d )
view-container: retain opened containers across activity-bar switches (1a4050f )
reorder view panes by dragging the header (5187d55 )
sash: panel sash renders full width, not half (9c56462 )
sash: sidebar sash is transparent at rest, matching canon (f51ec1a )
sash: canonical sash.hoverBorder token, centered band, owned size (2e9f4e6 )
sash: migrate view-pane sash to WorkbenchSash; add hover/drag highlight (701b8cd )
view-stack: anchor sash drag to absolute pointer position (6161292 )
layout: share a canonical sash for sidebar and panel resize (d0f7e40 )
view-stack: directional sash cursor at clamp limits (434cd7b )
view-stack: drag the sash to resize adjacent panes (99b518c )
view-stack: lay the view stack out as a fixed-height splitview (453584a )
view-stack: reserve twisty space so non-collapsible titles align (919094f )
example: tighten Explorer body padding to canon density (1da67b6 )
view-stack: omit first-pane top rule, flush body under header (39a600e )
layout: invert sidebar to typed view descriptors and retire host collapsible flag (10f7347 )
view-stack: add WorkbenchViewContainer with container-derived collapsibility (76a838b )
render section-header band and rule on view-pane headers (e705bfa )
example: route view-pane header actions through NotificationService (e5aed8a ), closes #35
add hover-revealed header actions to WorkbenchViewPane (117e15d )
add opt-in collapse to WorkbenchViewPane (9710d60 )
rename WorkbenchSection to WorkbenchViewPane (15e36a3 )
remove the UI extension-slot API (8e63893 )
exclude repo tooling from the pub archive (20ecf00 )
add value equality to WorkbenchTheme (aae8f99 )
keep tabbed panel active tab aligned across tab-list reshape (798b824 )
layout: align layout constants to VS Code canon (SPEC §8.1) (c31fca2 )
parse malformed theme JSON without crashing (b3cb579 )
re-state .gitignore artifact exclusions in .pubignore (5646fc9 )
support out-of-order disposal of theme controllers (f4a2e64 )
cache unmodifiable notifications view (5e860a4 )
partition activity bar items once instead of per build (1d26b1b )
Initial release.
VS Code-style workbench chrome: activity bar, sidebar, editor area,
tabbed bottom panel, status bar, and menu bar.
Structural content primitives: section, subsection, card, toggle card,
and empty state.
Theming: WorkbenchTheme (a Material ThemeExtension),
WorkbenchThemeController, and TokenTheme, built from bundled VS Code
color-theme JSON. applyWorkbenchChrome(base, chrome) composes the
chrome's Material theming onto a host's base ThemeData in one call
(SPEC §spec:chrome-material-theming). Per-host chromeFontFamily, editorFontFamily, and
editorFontSize overrides; editor-derived surfaces (log lines, tabular
values) share a single monospace style (SPEC §spec:editor-derived-surfaces).
Intent-driven actions: ToggleBottomPanelIntent with Cmd+J / Ctrl+J
defaults; WorkbenchViewMenuTab carries an arbitrary Intent dispatched
through Actions.
Notification center: NotificationService, NotificationHost, and
NotificationProgressController for stacked toast cards (SPEC §spec:notification-center).
WorkbenchLayoutConstants layout tokens and host-registered extension
slots (SlotRegistry, SidebarSlot).
Documentation API reference
Publisher unverified uploader
Weekly Downloads
VS Code-style workbench layout shell for Flutter with activity bar, sidebar, editor area, tabbed bottom panel, status bar, menu bar, and structural primitives. Depends only on Flutter.
Repository (GitHub) View/report issues Contributing
Topics #workbench #vscode #ide #layout #desktop
License BSD-3-Clause (license )
Dependencies equatable , flutter , material_color_utilities , material_symbols_icons , meta
More Packages that depend on workbench_shell