簡體   English   中英

如何關閉NSWindow並從停靠菜單中刪除應用程序圖標

[英]How to close NSWindow and remove the application Icon from dock menu, yet

如果你在MacBook上使用DropBox,你必須看到我們完成注冊過程。 它會關閉主窗口應用程序並從dock項目中自行刪除它,但應用程序正在從狀態菜單運行。


視覺:

在此輸入圖像描述


到目前為止我做了什么:

  • 我的應用程序與show NSWindow完美運行
  • 當我從前面的應用程序窗口登錄時,我可以使用popover創建一個狀態菜單圖標
  • 在此步驟中,我想刪除NSWindow和Dock圖標,但應該可以從狀態菜單訪問該應用程序。

怎么做到這一點?

僅供參考:我不期待任何代碼,只是理解或快速提示。 我會弄明白其余的:)


我所指的資源,

稍后我將為launchd配置我的應用程序。 因此,在系統啟動時,它可以啟動並在狀態菜單中自動顯示。 現在我正在尋找一個好的資源(當然它很好,因為它的Apple Doc)但是因為我是一個天真的程序員,有沒有人有一個很好的示例鏈接? 它展示了如何在推出中添加應用程序?

編輯:

我將按照本教程添加到啟動中,以后用戶可以根據需要更改自己的首選項,他們可以選擇啟用我的應用程序或啟動時關閉

要僅將您的應用程序作為狀態菜單運行,請將以下某個鍵添加到info.plist文件中:

Application is agent (UIElement)

要么:

Application is background only

至於在兩者之間切換,我不確定最好的方法,但我建議將設置過程作為自己的應用程序。 (帶有圖標和窗口的應用程序)您可以在菜單項應用程序中包含應用程序,並在用戶啟動程序時自動啟動它...

正如Teak所說,您希望info.plist中的“Application is agent(UIElement)”鍵。 這個鍵意味着您將沒有停靠圖標......這就是您想要的。 但是,不需要使用“Application is background only”鍵。 此鍵可以防止您在屏幕上放置任何窗口,這是不必要的。 所以我會把這把鑰匙留下來。

通常設置您的應用程序,以便在啟動時不會自動顯示窗口。 在啟動時進行某種檢查以查看是否需要配置。 如果是,則使配置窗口可見。 您甚至可以在狀態菜單中有一個“配置...”菜單項,這樣您的用戶就可以隨時彈出配置窗口。 它真的很簡單,但只是不要使用“Application is background only”info.plist鍵。

順便說一下,讓窗戶走到前面有點困難。 訣竅是讓你的應用程序首先像這樣......

[NSApp activateIgnoringOtherApps:YES];
[someWindow makeKeyAndOrderFront:nil];

通常情況下,Dropbox示例中提到的情況使用兩個單獨的應用程序解決,一個用於菜單,一個用於另一個ui部分(具有提到的dock圖標fe),並且兩個進程通過fe ipc進行協作。

在一個應用程序中做同樣的事情有點棘手,你可以在這里找到我的細節

Cocoa - 以編程方式轉到前台/后台

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM