why are WineWindows NSPanels

Ken Thomases ken at codeweavers.com
Tue Jan 12 22:27:58 CST 2016


On Jan 12, 2016, at 9:42 PM, Theodore Dubois <tblodt at icloud.com> wrote:
> 
> Why are WineWindows NSPanels, not NSWindows?

Only NSPanel supports the NSUtilityWindowMask style mask and the Mac driver doesn't know in advance which windows may be utility windows.  That can change at any time as the Win32 window style changes.

> I can see a disadvantage of this, which is that NSPanels don’t show up in Mission Control, but I can’t see the advantage.

Wine windows show up just fine in Mission Control if they're supposed to.  The Mac driver controls this explicitly by including NSWindowCollectionBehaviorManaged in the collectionBehavior, or not, based on the Win32 window style.

Panels don't behave differently from windows in this regard.  Only the window level would affect it, if we weren't overriding it.

As near as I know, the Mac driver nullifies all differences in behavior between panels and windows.  Making WineWindows subclass from NSPanel only provides more flexibility.  Do you have a specific case that demonstrates a problem?

-Ken




More information about the wine-devel mailing list