我想我应该检查是否[NSApplication presentationOptions]包含NSFullScreenModeApplicationPresentationOptions,但我该如何实现呢?
编辑:使用[NSApplication presentationOptions]不像在我的基于文档的应用程序中那样,全屏可能有一些文档而其他文档没有.我现在正在寻找另一种解决方案.我想知道为什么没有一个叫做的财产[NSWindow isFullscreen]或类似的东西.
我正在编写一个"UIElement"应用程序,它在屏幕一侧显示一个状态窗口,类似于Dock.
现在,当一个程序占据整个屏幕时,我需要隐藏我的状态窗口,就像Dock一样.
我有什么选择来检测这个和反向事件?
我想,以避免通过定时事件投票,也不能使用无证技巧(如建议在这里)
为事件注册Carbon事件处理程序kEventAppSystemUIModeChanged是不够的 - 它可以检测VLC的全屏模式,但不能用于在窗口右上角使用新的全屏窗口小部件的现代Cocoa应用程序.
类似地,通过观察对currentSystemPresentationOptions属性的更改,遵循Apple关于NSApplication presentationOptions API的说明也没有帮助 - 再次,它仅通知VLC的全屏模式,而不是关于使用窗口'右上方全屏小部件的应用程序.
监视对屏幕配置的更改CGDisplayRegisterReconfigurationCallback不起作用,因为这些全屏模式没有任何回调.
我正在使用Cocoa开发一个简单的应用程序,我想检测是否有任何应用程序以全屏模式运行.这可能吗?
通过运行应用程序API,我可以获得各种信息,但没有与全屏模式相关的特定属性.有谁知道如何检测它?这有碳事件或API吗?
我正在为Mac编写一个IM客户端(在python中,但这里的Objective C/Cocoa解决方案很好).我想检测用户当前是在观看电影还是在前台玩游戏,或者做其他任何占用整个屏幕的事情.如果是这样,当新的IM进入时我不会播放声音,但如果没有,我将播放声音.
我怎么能发现这个?有没有办法用AppleScript获取前景窗口并查看其尺寸?或者是否有其他API调用?
谢谢.
cocoa ×3
fullscreen ×3
macos ×3
macos-carbon ×1
nswindow ×1
objective-c ×1
osx-lion ×1
python ×1