Need to be able to detect full screen displays

Originator:peter
Number:rdar://18536127 Date Originated:2014-10-03
Status:Open Resolved:
Product:OS X Product Version:All
Classification:Enhancement Reproducible:All
 
Floating and all spaces is easily done with

[self.panel setLevel:kCGUtilityWindowLevel];
[self.panel setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces];

but there is no way to then specify a flag to hide them in full screen mode.  There is also no notification to indicate a screen is going in or out of full screen mode, and no way to detect if a screen is or is not in full screen mode.

Ideally there would be a flag or collection behaviour on panels to exclude them from full screen mode screens.

Ideally there would be a system wide notification to indicate that a screen is entering or existing full screen mode.

Ideally there would be a NSScreen property that would indicate if the screen was in full screen mode or not.  Ideally this property would be observable.

Comments

NSApplicationDidChangeScreenParametersNotification

In Yosemite an NSApplicationDidChangeScreenParametersNotification will be sent whenever an app goes fullscreen. You may get some value from checking applicationFrame on the NSScreen object.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!