我有一個前景應用程序顯示NSStatusItem
以及菜單(通過NSStatusItem setMenu:(NSMenu *)menu
)。但是,當我在Lion中以全屏模式(例如Safari)查看另一個應用程序時,此菜單不會顯示。NSStatusItem菜單不顯示在獅子全屏應用程序
我知道,我可以把它用在Info.plist
文件(或NSUIElement
)設置NSBGOnly
到真正的工作,但是這兩種方法都會使我的應用程序圖標在任務切換消失,以及隱藏在主菜單有一次我設法關注我的應用。
最後,我已經嘗試設置NSUIElement
爲true,並做好在啓動時我的應用程序如下(見How to hide the Dock icon):
ProcessSerialNumber psn = { 0, kCurrentProcess };
TransformProcessType(&psn, kProcessTransformToForegroundApplication);
本作的菜單欄再次出現以及停靠欄圖標但原問題(狀態項目菜單不顯示在另一個全屏應用程序中)再次可見。無論我嘗試什麼,我都贏不了。
任何建議將不勝感激!
謝謝,我擔心會是這樣。有沒有辦法將這兩個對象打包到一個'.app'文件中?否則,如果用戶需要將2個.apps拖到他的應用程序文件夾或創建一個'.pkg'文件,那麼它會很糟糕。 – RaB
是的,您絕對可以在主應用程序包裝中存儲幫助工具。本質上,您將構建代理應用程序作爲自己的目標,然後使用Xcode中的「複製文件」構建階段將其複製到主應用程序包的「AppPackage.app/Contents/Resources」文件夾中。 –
Dropbox應用程序似乎工作得很好。此外還顯示系統的托盤菜單。 – PnotNP