<div dir="ltr"><div>Hi Cormac,</div><div><br></div><div>The default window buttons are not a part of the scene graph, and no content in the scene graph can ever occlude them. The only way to get around this is to hide the default window buttons, and use JavaFX buttons as a replacement. However, I wouldn't recommend doing that, as blocking window buttons is almost certainly a very suboptimal user experience.</div><div><br></div><div>The header bar content, on the other hand, is very much part of the scene graph; this is why you can place a StackPane in front of it and block mouse events. If you want the header bar to be draggable, you need to allow mouse events to pass through. This is very much by design: it's what allows you to place controls in the header bar and interact with them. If the header bar reacted to mouse events even though a control just consumed them, that would be very strange and unintuitive.</div><div><br></div><div>Given that HeaderBar is a new feature, it's probably safe to say that MaskerPane was developed with the understanding that it's okay to cover the entire client area, and this assumption no longer holds when the client area is extended to cover the whole window. Maybe MaskerPane can be improved so that it allows mouse events to pass through if the area under the cursor is draggable? But that's something for ControlsFX to figure out.</div><div><br></div><div>Michael</div><div dir="ltr"><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Dec 31, 2025 at 1:22 AM Cormac Redmond <<a href="mailto:credmond@certak.com">credmond@certak.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div style="font-family:verdana,sans-serif">Hi,</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">Sometimes I use a ControlsFx MaskerPane as a "please wait" screen whereby I do not want to allow any interactions with any controls (including Menus in the HeaderBar if they exist, for example). </div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">I've created a simple dependency-less example to demonstrate something similar, and the problem.</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif"><div>When a "masker" is on (StackPane visible), I've noticed that a HeaderBar's window icons are still responsive to mouse events, however, <u>the stage cannot be dragged</u>. This to me suggests different handling/priority re: mouse events.</div><div><br></div><div>This is unintuitive behaviour to the standard user and it is a very noticeable issue for long-lived blocking tasks (for example) where the user might need to move a blocked window out of the way. I think if the user can resize, restore, minimise, etc., which they can -- then they should also be able to drag the window despite a StackPane sitting on top of it. HeaderBar.setDragType() doesn't help here.</div></div></div>
</div>
</blockquote></div></div>