2012-07-03 44 views

回答

3

基本方法是創建一個無邊框NSWindow與適當的levelkCGDesktopIconWindowLevelKey是桌面圖標的等級,所以應該可以工作。

沙盒對此沒有問題,因爲您實際上並沒有移除桌面圖標,只是在其上顯示一個窗口。

您可能還希望將窗口的collectionBehavior設置爲NSWindowCollectionBehaviorStationary,以便它不受Exposé的影響。

+0

哇,甚至有一個變量的圖標級?那很棒 !非常感謝您的回答!所以確實有這樣的可能性:D 因爲你看起來很有經驗,所以你可能會告訴我,當用戶雙擊桌面(而不是圖標)時,是否可以再次隱藏圖標。非常感謝你的幫助! –

+0

我想不出有辦法做到這一點。使用'[NSEvent addGlobalMonitorForEventsMatchingMask ...]'檢測桌面上的點擊可能是可能的,但是您無法區分點擊背景上的圖標... – omz

+0

無論如何感謝。如果能夠這樣工作,會很棒,但也許我應該做點像熱門的事情。 –

0

我不知道這是可能的,因爲:

  1. 疊加將不得不在桌面上,但在新窗口
  2. 這將極有可能無法被沙盒

但是,如果你可以把它的工作,工作流將沿着線:

  1. 用戶點擊butto n(最好是菜單欄,因爲這個應用程序沒有真正的窗口)
  2. 全屏窗口(禁用UI元素,比如菜單欄)隨着背景圖像被設置爲Mac的背景圖像而被淡入
  3. 點擊按鈕再次隱藏窗口
+0

Mh ..如何隱藏/取消隱藏桌面上的圖標與點擊相同的系統,但沒有用於淡入淡出的圖像疊加。所以他們只是出現。 是否有可能在點擊桌面時顯示它們,同時仍保留沙盒指南? –

+0

我不相信你將能夠沙盒,因爲它將需要修改關鍵的OSX元素。這是一個鏈接,http://developer.apple.com/library/mac/#documentation/Security/Conceptual/AppSandboxDesignGuide/DesigningYourSandbox/DesigningYourSandbox.html#//apple_ref/doc/uid/TP40011183-CH4-SW1 – Charlie

+0

是的,我知道那頁。儘管還有其他可以隱藏圖標的AppStore應用程序。那麼,您認爲只有「點擊桌面才能顯示」的操作纔會不可用? –