Разработка пункта контекстного меню для OSX (Leopard и Snow Leopard) - PullRequest
0 голосов
/ 16 января 2010

Мне было интересно, как лучше всего создать контекстный пункт меню, который будет работать как в леопарде, так и в снежном барсе, и работать с выбором файлов и / или папок, отправляя их в сценарий оболочки.

я знаю, что пункты контекстного меню устарели в SL - но значит ли это, что нет способа создать решение, которое работало бы как на Leopard, так и на Snow Leopard (с использованием appleScript, xcode или automator)?

В основном я хочу передать файлы / папки в шеллскрипт, который создает из них различные сжатые архивы (rar, zip, tbz2).

спасибо за вашу помощь!

Ответы [ 3 ]

4 голосов
/ 17 января 2010

На самом деле не существует способа создать один общий фрагмент кода, который будет работать как в Leopard, так и в Snow Leopard.

Однако вы можете создать сервис для Snow Leopard, а затем создать контекстное меню Finder для Leopard, которое просто вызывает этот сервис.

Таким образом, вы можете выполнять большую часть своей реализации в Какао как часть службы и использовать только часть контекстного меню Finder в системах, которые не могут «использовать» эту службу «нативно».

1 голос
/ 16 января 2010

За исключением использования службы Automator (10.4 или выше) или недавно пересмотренной системы служб (только 10.6), вам придется покинуть уютный мир какао:

SampleCMPlugIn

0 голосов
/ 16 января 2010

Вы можете создать приложение AppleScript, которое принимает перетаскиваемый на него файл / папку.

Вероятно, вы можете создать приложение Automator, которое будет принимать перетаскиваемые файлы.

Оба должны работать на Leopard и Snow Leopard. По крайней мере, в Snow Leopard вы можете настроить новый пункт меню «Сервисы», который указывает на конкретное приложение для обработки выбора. Это делается с помощью панели настроек клавиатуры.

...