Skip to content

Commit 447073f

Browse files
committed
Follow ImGui dockspace pattern for demo hub
1 parent 6e73301 commit 447073f

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

python/demo_hub/gui/app.py

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,33 @@ def _render(state: GuiState) -> None: # pragma: no cover - manual UI
129129

130130

131131
def _dockspace_fullscreen() -> None:
132-
dock_flags = imgui.DockNodeFlags_.passthru_central_node
133-
return imgui.dock_space_over_viewport(0, None, dock_flags, None)
132+
# Follow Dear ImGui's recommended fullscreen dockspace pattern.
133+
dockspace_flags = imgui.DockNodeFlags_.none
134+
window_flags = (
135+
imgui.WindowFlags_.no_title_bar
136+
| imgui.WindowFlags_.no_collapse
137+
| imgui.WindowFlags_.no_resize
138+
| imgui.WindowFlags_.no_move
139+
| imgui.WindowFlags_.no_bring_to_front_on_focus
140+
| imgui.WindowFlags_.no_nav_focus
141+
| imgui.WindowFlags_.no_docking
142+
)
143+
viewport = imgui.get_main_viewport()
144+
imgui.set_next_window_pos(viewport.pos)
145+
imgui.set_next_window_size(viewport.size)
146+
imgui.set_next_window_viewport(viewport.id_)
147+
imgui.push_style_var(imgui.StyleVar_.window_rounding, 0.0)
148+
imgui.push_style_var(imgui.StyleVar_.window_border_size, 0.0)
149+
imgui.push_style_var(imgui.StyleVar_.window_padding, (0.0, 0.0))
150+
if dockspace_flags & imgui.DockNodeFlags_.passthru_central_node:
151+
window_flags |= imgui.WindowFlags_.no_background
152+
153+
imgui.begin("MainDockSpaceHost", flags=window_flags)
154+
imgui.pop_style_var(3)
155+
dockspace_id = imgui.get_id("MainDockSpace")
156+
imgui.dock_space(dockspace_id, (0.0, 0.0), dockspace_flags)
157+
imgui.end()
158+
return dockspace_id
134159

135160

136161
def main(argv: list[str] | None = None) -> None:

0 commit comments

Comments
 (0)