Is there a way to force the NSPopover to start in the detached state? I only see isDetached
which is a read-only property for the state of the popover and an NSPopoverDelegate method detachableWindow(forPopover:)
which lets me override the window that gets created. I'd like to essentially click a button and have the NSPopover start in the state in this photo.
The style of this window is exactly what a product requirement is and I can't seem to find any NSWindow style settings that would make a window do something like this (nor an NSPanel)
This detached popover functionality seems special in that it:
- non-modal, but stays above main app. Able to still interact with the main app just like in Messages how you can still click around and type a new message.
- Clicking another app, AppFoo, puts both the main app and the helper window behind AppFoo.
- The helper window can be moved around and isn't hidden on app deactivation (another app gets selected).
- Has the little, native, grey X in the top left.
popoverShouldDetach
to return true in myNSPopoverDelegate
, and I can drag my popover to detach it from the chosenNSView
it is originally attached to (usingpopover.show(relativeTo ...
). However callingdetachableWindowForPopover
directly means I need to implement it in my popover delegate right? Currently it is implemented simply asreturn nil
. – Maffei