Skip to content

[Feature] - [DockingManager] Add switches to turn floating and window creation on or off - #637

Merged
sharpSteff merged 1 commit into
Dirkster99:masterfrom
sharpSteff:claude/floating-window-deactivation-api-4de2p8
Aug 9, 2026
Merged

sharpSteff merged 1 commit into
Dirkster99:masterfrom
sharpSteff:claude/floating-window-deactivation-api-4de2p8

Conversation

@sharpSteff

Copy link
Copy Markdown
Collaborator

Adds two manager wide switches next to the existing per content CanFloat:

  • DockingManager.AllowFloatingWindows turns tear off into floating windows off entirely. Dragging a tab or tool window title, the Float command and LayoutContent.Float() all stop creating windows, CreateFloatingWindow returns null, and the Float command reports itself unavailable so the menu entries offering it are disabled.
  • DockingManager.AllowDetachedWindows does the same for the standalone "Window" view mode: DetachAnchorableToWindow does nothing and DetachToWindowCommand is unavailable.

Both are retroactive so they cannot be circumvented: switching them off docks open floating windows back and returns detached anchorables, and a layout that is loaded afterwards is treated the same way rather than recreating the windows it was saved with. DockAllFloatingWindows() exposes that dock back on its own.

Both are also on Core.IDockingManager and on Core.IRootDock, so an MVVM application declares them on its layout and LayoutSyncBridge pushes them to the manager, including later changes. In the DI package the new DockingOptions carries them, ToggleDockOptions derives from it so both configure calls share one options object, and AddDockLayoutService applies them to the layout - no wiring in the window.

@sharpSteff sharpSteff changed the title [Feature] - [DockingManager] Add switches to turn floating and standa… [Feature] - [DockingManager] Add switches to turn floating and window creation on or off Aug 9, 2026
@sharpSteff
sharpSteff force-pushed the claude/floating-window-deactivation-api-4de2p8 branch 2 times, most recently from f2abd60 to 8d3ca86 Compare August 9, 2026 09:57
…lone windows off

Adds two manager wide switches next to the existing per content CanFloat:

- DockingManager.AllowFloatingWindows turns tear off into floating windows
  off entirely. Dragging a tab or tool window title, the Float command and
  LayoutContent.Float() all stop creating windows, CreateFloatingWindow
  returns null, and the Float command reports itself unavailable so the menu
  entries offering it are disabled.
- DockingManager.AllowDetachedWindows does the same for the standalone
  "Window" view mode: DetachAnchorableToWindow does nothing and
  DetachToWindowCommand is unavailable.

Both are retroactive so they cannot be circumvented: switching them off docks
open floating windows back and returns detached anchorables, and a layout that
is loaded afterwards is treated the same way rather than recreating the windows
it was saved with. DockAllFloatingWindows() exposes that dock back on its own.

Both are also on Core.IDockingManager and on Core.IRootDock, so an MVVM
application declares them on its layout and LayoutSyncBridge pushes them to the
manager, including later changes. In the DI package the new DockingOptions
carries them, ToggleDockOptions derives from it so both configure calls share
one options object, and AddDockLayoutService applies them to the layout - no
wiring in the window.
@sharpSteff
sharpSteff force-pushed the claude/floating-window-deactivation-api-4de2p8 branch from 8d3ca86 to 8d3331a Compare August 9, 2026 11:45
@sharpSteff
sharpSteff merged commit 052c02a into Dirkster99:master Aug 9, 2026
1 check passed
@sharpSteff
sharpSteff deleted the claude/floating-window-deactivation-api-4de2p8 branch August 9, 2026 12:13
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