2011-06-25 63 views
1

我知道有NSDesktopDirectory可以讓我獲得當前用戶桌面目錄的路徑,但是這個路徑值寫在哪裏,並且有一種方法可以從我的可可應用程序中改變它,但我找不到。有沒有辦法在Cocoa中更改用戶桌面目錄路徑值?

任何人都可以指向正確的方向嗎?

附加說明:在雪豹當我桌面文件夾重命名爲任何事情任何,該文件夾的內容仍然顯示在桌面上,所以我想OS跟蹤有關該文件夾的名稱和位置的變化,並將其作爲桌面文件夾。有誰知道它是如何做到的?

+0

所以基本上,你正在尋找一種方法來移動用戶的主目錄,對吧? –

+0

否:),我正在尋找一種方法來更改用戶桌面上顯示的內容。 – tmilovan

+0

只需閱讀您的說明。猜猜那麼你不想改變主文件夾;)如果你想改變用於桌面的文件夾,一種應該工作的方式是刪除原始的〜/ Desktop文件夾(作爲root用戶在命令行上,自10點起。6防止用戶搞亂這些文件夾,最好在沒有登錄的情況下),然後將不同的文件夾符號鏈接到〜/桌面。雖然我沒有測試過這個。 – puzzle

回答

0

我花了大約40分鐘研究出於好奇。 Google在這種特殊情況下沒有任何幫助,所以我在我的〜/ Library文件夾中搜索了一下。路徑不存儲在那裏。然後我使用命令行fu來查看標誌以及我能找到的任何其他元數據。毫無幫助。

我認爲這是一個使用的文件系統的引用,而不是硬編碼的文件路徑(這就是爲什麼它的「桌面」指定生存重命名)內置的事情。如果你刪除它,它會創建一個新的並將ref存儲到那個。你將無法交換它。

我認爲菲爾的評論可能是你最好的選擇:移動文件夾,而不是文件夾本身的內容。這是我對此採取:

〜/桌面/ .myDesktop1 ...〜/桌面/ .myDesktop2 ...〜/桌面/ .myDesktop3

甚至是:〜/桌面/ .myappdesktops/1〜 /Desktop/.myappdesktops/2〜/桌面/ .myappdesktops/3

如果移動的東西變成一個點的文件夾,它會保持隱藏,但在那裏。活動的東西保持在〜/ Desktop中,但是每個概念性的「桌面」都存儲在一個點文件中,因此它保持隱藏狀態。

警告:時間機器。 :-)無論採取何種方式,換出文件「套」都可能會對任何備份解決方案造成嚴重破壞。

+0

這就是說,OP,我有興趣嘗試你的應用程序,這聽起來像一個有趣的想法。在Twitter上(@jnozzi)或我個人的網站(看我的個人資料)。:-) –

+0

就好因爲我已經將我的應用開發成令人滿意的形狀,所以我會聯繫你:))。我認爲我有一個Time Machine的優雅解決方案和移動問題。將看到雖然:)) – tmilovan

+0

只需注意任何有興趣的人:該應用程序現在提交給Mac App Store審查,並單獨演示即將推出。 – tmilovan

1

你可以做到這一點的一種方法是將用戶桌面(包括具有位置/空間信息的.DS_Store)的整套文件存儲到〜/ Library/Application Support /文件夾中的一個文件夾中,然後將其他文件〜/桌面上的文件?這應該有效地「替換」用戶的桌面。

[轉貼作爲一個答案,以上建議]

+0

這正是我最終選擇的東西。到現在爲止還挺好 :)。 – tmilovan

相關問題