The header cannot be dragged
Check transparency and drag markers, and rule out buttons taking over the drag region.
Identify whether you are dragging the window or page content
This guide covers moving the whole floating window. Model rotation, sliders, and canvas panning are page interactions. Do not mark their work areas as host-window drag handles.
Effective transparency must be enabled
CSS drag regions participate in host dragging only for effectively transparent windows. Explicit Python transparency overrides HTML hints; a transparent CSS background alone is insufficient. Close and reopen after changing surface transparency; refreshing does not reconfigure the old surface.
Declare the full shape and handle separately
<main data-nexus-window data-nexus-hit="rounded">
<header data-nexus-drag>Tool title</header>
<button type="button">Run action</button>
</main>The full clickable panel is the window region; blank header space is the drag region. Marking only the header as window can exclude the body from hit testing. Elements need visible dimensions inside the viewport.
Check control exclusions and clipping
| Observation | Diagnosis and response |
|---|---|
| Pressing a button or input | Native buttons, inputs, links, and editable content are automatically excluded. Start from blank header space. |
| A third-party control becomes a drag handle | Add data-nexus-no-drag to its host element when internal controls are not automatically recognized. |
| A marker exists but is ineffective | Check display, visibility, opacity, pointer-events, scrolling, and overflow clipping. A marker does not prove the element is hittable. |
| Broken after replacing the page | Check whether markers survived into build output, not just unpackaged source. |
no-drag takes precedence over drag. Host dragging starts with the left button after a small movement threshold. Middle and right buttons do not start it.
Verify headers and controls separately
- Dragging blank header space moves the window rather than merely selecting text.
- Buttons perform their own actions without dragging the window.
- Body controls still work after movement, and clipped regions do not intercept input.
For complete layout guidance, see Transparent and shaped windows. Check actual interaction feel in Blender.
If unresolved, follow Provide useful diagnostic information to prepare a minimal reproduction and original messages for the add-on author.