Skip to content

[feat] 40 F6-F11 dock and window chrome - #352

Closed
AlexZ005 wants to merge 3 commits into
feat/40from
feat/40-docks
Closed

AlexZ005 wants to merge 3 commits into
feat/40from
feat/40-docks

Conversation

@AlexZ005

Copy link
Copy Markdown
Collaborator

Roadmap 40 items F6-F11 (dock and window chrome from the 1.31 review).

id what changed proof
F6 Docked tab strip: the bar paints behind every tab (not just the first three) when scrolled; picking a tab keeps the strip's scroll dock-chrome-40 F6.1-F6.6 + counterfactual
F7 Long object/file names in window headers: one line + ellipsis, full name on hover / touch long-press ($lib/ui/fullName.js); a phone-narrow Animation puts the name on its own row F7.1-F7.5
F8 Docked windows carry no ✕/undock (the tab carries ✕); undock sits left of "minimize the dock", undocks the active tab or all as one group (Settings ▸ Interface ▸ Windows & chrome ▸ Undock button); floating groups get "Dock all tabs" F8.1-F8.8
F9 Phone "+" (floating windows off): a sheet of every window with show/hide switches F9.0-F9.7
F10 A docked tab dropped onto a floating window joins it as a tab; group members no longer jump off their group on a tab switch or resize; a plain header click over a group no longer merges F10.1-F10.5 + counterfactual; tab-group-stacking
F11 Layouts is the kit dialog (was transparent in most themes) F11.1-F11.5, workspace-layouts

Gates: svelte-check 300/41 (baseline), check:tokens clean, vitest 1885/1885, build green. Regression battery and the 1.31.0 A/B (every remaining red identical on base) plus before/after shots (390x844 + 1440x900, dark + light): lanes-30/after-40/40-docks/summary.md.

Suite migrations: #explorer-undock / #flow-undock / Undock buttons -> #dock-undock:visible; #code-ws-close -> the tab ✕.

Known: one-hunk conflict with feat/40-sheets in Explorer.svelte (adjacent edits, a union).

🤖 Generated with Claude Code

AlexZ005 and others added 3 commits October 8, 2026 14:13
- F6 docked tab strip: the bar paints from a non-scrolling wrapper, so every tab
  (not just the first three) sits on it when scrolled and the edge fade masks only
  the tabs; one shared scroll position survives a tab pick (each panel mounts its
  own strip, which used to start at 0)
- F7 window header names: one line + ellipsis, full name on hover and touch
  long-press ($lib/ui/fullName.js, on WindowChrome titles and the docked .tp-dock-sub
  which had no rule); a phone-narrow Animation moves the name out of the control row
- F8 docked windows carry no close or undock button (tabs carry the close, the
  dock code workspace keeps its unsaved-tabs ask through registerDockCloser); the
  undock button sits left of "minimize the dock" and undocks the active tab, or
  every tab as one tabbed group (Settings > Interface > Windows & chrome > Undock
  button); a floating tab group gets a dock-all button left of "close all tabs"
- F9 phone "+" (floating windows off) opens a sheet of every window with show/hide
  switches; with floating windows on it is the desktop menu
- F10 a docked tab dropped onto/into a floating window joins it as a tab
  (windowTabs.windowAt + queueMerge); dragWindow's size watch and window-resize
  re-clamp stand down for tab members, which threw a revealed member off its group
- F11 the Layouts popover is the kit ModalDialog (it painted with a theme var most
  themes no longer define); own desktop width because the kit width prop loses to
  the layered !important frame rule
- bottomDock.armDockModes queues several dock-mode arms (the slot is write-once)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…g fixes

- dock-chrome-40 (45 checks, phone touch + desktop mouse), green; counterfactual:
  keepScroll neutered -> F6.3/F6.5 red
- suites that clicked the removed docked close/undock buttons now use the tab x
  ([data-dock-tab-close]) and #dock-undock
- phone '+' sheet ends at the phone bar (Play visible) and its switches fit
- Layouts dialog: Escape in the window capture phase (the menu tree stops keydown)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…0 repro

- windowTabs.tabbable: a header press that never travels (4px) is a click that raises
  the window, not a merge. Latent before: it only stopped hiding once F10 kept group
  members on their group rect, which put a member's header band under a window that
  overlaps the strip (tab-group-stacking went red: a raised object list joined the group)
- dock-chrome-40 F10: the joining window's own remembered spot is parked off the right
  edge first, plus F10.5 (a browser resize and two more tab switches). With the
  dragWindow tab-member guards removed F10.3 now goes red (it did not before)
- dock-splits / docking / layout: #flow-undock -> #dock-undock (the docked window has no
  undock button of its own since F8). Their remaining reds are identical on 1.31.0

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@AlexZ005

Copy link
Copy Markdown
Collaborator Author

Included in 1.32.0: merged into feat/40-int → feat/41 → release PR #365 (v1.32.0, 862ed79). Closing as included.

@AlexZ005 AlexZ005 closed this Oct 13, 2026
@AlexZ005
AlexZ005 deleted the feat/40-docks branch October 23, 2026 11:17
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.

1 participant