2010-01-16 67 views
0

我想知道創建一個上下文菜單項的最佳做法是什麼,它可以在豹和雪豹的工作,並與選擇的文件和/或文件夾,發送他們到一個shellcript。OSX的上下文菜單項目(豹和雪豹)

我知道SL中的上下文菜單項已被棄用 - 但這是否意味着無法創建可在Leopard和Snow Leopard上使用的解決方案(使用applescript或xcode或automator)?

基本上我想喂文件/文件夾到一個shellcript,它創建不同的壓縮檔案(rar,zip,tbz2)。

感謝您的幫助!

回答

1

短期使用的Automator服務(10.4或以上)或新大修服務系統(10.6只),你就必須離開可可的舒適的世界:

SampleCMPlugIn

+0

我完全不理解你的答案:爲什麼你的意思是「離開可可的世界」,然後發佈一個xcode片? – z3cko 2010-01-17 02:59:25

+2

SampleCMPlugin使用Carbon而不是Cocoa。沒有可可的方式來做到這一點。至於「張貼xcode片」,我不知道你的意思。如果你的意思是示例代碼,我已經做到了。完成插件短缺,這是一個完整的完整示例。 – 2010-01-17 17:48:56

+0

SampleCMPlugIn示例在Snow Leopard中不起作用。 – geowar 2010-09-04 17:39:38

0

你可以製作一個AppleScript應用程序,該應用程序接受拖放「n」的文件/文件夾。

你或許可以讓一個Automator應用程序接受拖拽拖放的文件。

兩者都應該在Leopard和Snow Leopard上工作。至少,在Snow Leopard上,您可以設置一個新的服務菜單項,指向特定的應用程序來處理選擇。這是通過鍵盤首選項面板完成的。

+0

你有沒有一個適用於Leopard和Snow Leopard的拖放式applescript應用程序的例子? – z3cko 2010-01-19 11:08:20

4

有沒有真正的方法來創建一個代碼將在Leopard和雪豹的工作。

然而,您可以爲Snow Leopard創建一個服務,然後爲Leopard創建Finder上下文菜單,該菜單僅調用該服務。

通過這種方式,您可以在Cocoa中執行大部分實現作爲服務的一部分,並且僅在不能「本地」使用該服務的系統上使用Finder上下文菜單部分。

+0

這是一個非常好的方法!感謝你的回答!你能告訴我更多關於Leopard和SL服務嗎?那意味着我可以在Leopard上創建服務於Snow Leopard的服務? – z3cko 2010-01-19 11:10:02

+0

您應該可以在Leopard上創建也適用於Snow Leopard的服務,但不要利用所有新的服務功能。查看Mac OS X開發人員中心,尤其是AppKit發行說明,瞭解有關創建服務的詳細信息。 – 2010-01-21 04:03:30