Repository navigation
[Feature] - [DockingManager] Add switches to turn floating and window creation on or off - #637
Merged
sharpSteff merged 1 commit intoAug 9, 2026
Conversation
sharpSteff
force-pushed
the
claude/floating-window-deactivation-api-4de2p8
branch
2 times, most recently
from
August 9, 2026 09:57
f2abd60 to
8d3ca86
Compare
…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
force-pushed
the
claude/floating-window-deactivation-api-4de2p8
branch
from
August 9, 2026 11:45
8d3ca86 to
8d3331a
Compare
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.
Adds two manager wide switches next to the existing per content CanFloat:
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.