> On 26 Sep 2016, at 17:39, Adam Light <acli...@gmail.com> wrote: > > macOS Sierra added an automatic tabbing mechanism that is enabled for > applications by default. This behavior is entirely inappropriate for our Qt > 5.6 based application, and I'd like to be able to have my application opt-out > of this behavior. > > https://developer.apple.com/library/content/releasenotes/AppKit/RN-AppKit/#10_12Window > Tabbing describes the API behind this feature, and includes this: > "The application should explicitly opt-out of automatic window tabbing by > calling [NSWindow setAllowsAutomaticWindowTabbing:NO]" > > Does anyone know how I can do this in a Qt application? My understanding of > Cocoa/Objective-C is minimal, and I have no idea where I would make such a > call.
Hi, this should be doable. I’ve tested this as far as it compiles, but did not have a test app at hand. Create disableWindowTabbbing.mm with: #import <AppKit/AppKit.h> // Disables auto window tabbing where supported, otherwise a no-op. void disableWindowTabbing() { if ([NSWindow respondsToSelector:@selector(allowsAutomaticWindowTabbing)]) { NSWindow.allowsAutomaticWindowTabbing = NO; } } Add it to the build (qmake example shown): OBJECTIVE_SOURCES += disableWindowTabbbing.mm LIBS += -framework AppKit Then I think you can call it anywhere in main, before creating the window(s). extern void disableWindowTabbing(); disableWindowTabbing(); Now perhaps Qt should disable this by default. We could do that during the QGuiApplication constructor, giving apps that want to opt-in the opportunity to do so afterwards. - Morten _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest