# Native child windows

**URL:** <https://forum.juce.com/t/native-child-windows/69718>\
**Category:** News and Announcements\
**Created:** [October 15, 2026, 12:06pm UTC](https://forum.juce.com/t/native-child-windows/69718 "2026-10-15T12:06:08Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![t0m](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/t0m/32/16413_2.png) [@t0m](https://forum.juce.com/u/t0m)\
**Post date:** [October 15, 2026, 12:06pm UTC](https://forum.juce.com/t/native-child-windows/69718/1 "2026-10-15T12:06:08Z")

</div>

We have just pushed some changes that allow windows created from your app or plug-in to bind to a parent window.

This uses a similar convention to that already implemented for things like pop-up menus, where you can set an “associated” component.

Windows with an associated parent will do the following:

1. Move with the parent
2. Minimise and restore with the parent
3. Not appear on the taskbar

No windows from different apps can be ordered between a child and an associated parent.

We have updated JUCE’s built-in widgets, like PopupMenu, TooltipWindow and AlertWindow, to use the new mechanism. You should see improved behaviour in cases where you have a temporary window, like a popup, open in a plug-in, and the plug-in window is moved, and other similar situations.

Pass

```
DesktopWindowOptions().withStyleFlags (...).withAssociatedComponent (c)

```

to the new `addToDesktop` overload, or call `setAssociatedComponent` on a `TopLevelWindow`.

`createNewPeer` now takes a `DesktopWindowOptions`. You may need to make some changes to your code if you have customised `addToDesktop`. See the breaking changes document here:

> <https://github.com/juce-framework/JUCE/commit/5bc3927e1d110b614a4345fed1062e73481b0cd3#diff-2ea154b8b1accf354a338d439aa57c81c10618f59e7d3241682609d475a2e7abR3>
