Скрипты вызовов Opera с PSN на OSX

Итак, я хочу связать определенный «протокол» в моем браузере Opera со сценарием оболочки в OSX.

Поэтому в Opera я сделал:

  1. ‹открыть диалог настроек›
  2. Вкладка «Дополнительно» -> «Программы»
  3. Добавлен «myProtocol» и настроено его открытие с другим приложением «~/bin/myScript.sh»
  4. Применяемые настройки и т.д.

Теперь, когда я захожу на myProtocol://some.url.or.other, опера вызывает мой скрипт. Однако $* показывает, что единственным аргументом, переданным сценарию, является OSX PSN.

то есть в скрипте строка

echo $0 called with $*

выходы

/Users/me/bin/myScript.sh called with -psn_0_4588640

Почему он вызывает его с помощью PSN в качестве строки cmd? Почему не URL? В Ubuntu Opera передает URL-адрес, что с OSX?

Могу ли я заставить его вызывать его с помощью URL-адреса? Будет ли он доступен как переменная среды?


person argibbs    schedule 16.08.2009    source источник


Ответы (1)


Opera, кажется, использует команду Apple open, чтобы открыть файл, переданный в

Это запускает приложение, которое отправляет ему событие Apple с помощью служб запуска http://developer.apple.com/documentation/Carbon/Conceptual/LaunchServicesConcepts/LSCConcepts/LSCConcepts.html

Таким образом, чтобы открыть файл, приложение будет запущено, а затем должно отреагировать на событие Apple.

Ваше приложение должно быть полноценным приложением OSX, а не просто скриптом.

Параметр -psn в командной строке вводится из рабочей области.

person mmmmmm    schedule 17.08.2009
comment
Имеет смысл. Это работало в Linux - жаль, что такое же быстрое и грязное исправление не сработало и здесь. Спасибо! - person argibbs; 18.08.2009