Skip to content

Commit f61b361

Browse files
committed
feat: docking-full convenience bundle
docking-full = ["docking", "viewports"] — one word for the full docking experience (implication closure verified: both defines activate). The two primitives stay orthogonal (upstream has two independent config flags; docking-only remains Wayland-safe and avoids the per-frame platform-window pass). Example switches to the bundle; README documents all three.
1 parent 4ffa1e1 commit f61b361

3 files changed

Lines changed: 17 additions & 3 deletions

File tree

README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ which `CreateWindow`/`Init` use by default.
4343

4444
## Features
4545

46-
- `docking`exports the Dock* API surface (`DockSpace`, `DockSpaceOverViewport`,
46+
- `docking`dockable panels inside the main window (Wayland-safe). Exports the Dock* API surface (`DockSpace`, `DockSpaceOverViewport`,
4747
`SetNextWindowDockID`, `IsWindowDocked`, ...) and makes the `imgui.app` facade
4848
enable `ImGuiConfigFlags_DockingEnable` automatically:
4949

@@ -52,9 +52,20 @@ which `CreateWindow`/`Init` use by default.
5252
imgui = { version = "0.0.4", features = ["docking"] }
5353
```
5454

55+
- `viewports` — panels dragged (or positioned) outside the main window detach
56+
into real OS windows (multi-viewport). X11/Windows/macOS; note GLFW/Wayland
57+
does not support it upstream.
58+
- `docking-full = ["docking", "viewports"]` — convenience bundle: the full
59+
docking experience.
60+
61+
```toml
62+
[dependencies]
63+
imgui = { version = "0.0.5", features = ["docking-full"] }
64+
```
65+
5566
See `examples/docking/`. Sources come from upstream's docking tag
5667
(`compat.imgui 1.92.8-docking`, a superset of mainline — identical behavior
57-
while the feature is off).
68+
while the features are off).
5869

5970
## Dependencies
6071

examples/docking/mcpp.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ description = "Dockable-windows demo using the imgui `docking` feature"
55
license = "MIT"
66

77
[dependencies]
8-
imgui = { path = "../..", features = ["docking", "viewports"] }
8+
imgui = { path = "../..", features = ["docking-full"] }

mcpp.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ docking = []
3030
# viewports: ImGui windows dragged outside the main window detach into real
3131
# OS windows (multi-viewport). Usually combined with docking.
3232
viewports = []
33+
# Convenience bundle: the full docking experience (dockable panels + windows
34+
# that detach into real OS windows). Equivalent to ["docking", "viewports"].
35+
docking-full = ["docking", "viewports"]
3336

3437
[dependencies]
3538
compat.imgui = "1.92.8-docking"

0 commit comments

Comments
 (0)