Запустите другое приложение, используя AppleScript, не показывая его на док-станции - PullRequest
2 голосов
/ 26 ноября 2010

Используя AppleScript, вы можете создать скрипт, который запускает другое приложение, а затем сохранить сам скрипт как приложение и поместить его в док-станцию. Проблема (на самом деле не проблема) заключается в том, что при нажатии на нее все равно будет отображаться другое приложение на док-станции. Можно ли запретить показ другого приложения в доке, но при этом показать его графический интерфейс, как это обычно делается при выполнении?

Спасибо

Ответы [ 2 ]

4 голосов
/ 06 декабря 2010

Единственное решение, которое я могу придумать, - это на самом деле изменить «другое приложение», чтобы в нем не было значка Dock.Это работает, но неприятно:
• Да, вы напрямую изменяете другое приложение, не делая ничего из своего скрипта.
• Соответственно, это будет изменять каждый запуск упомянутого другого приложения, а не только вызов из вашегосценарий.
• Он не позволяет OtherApp иметь строку меню (хотя комбинации клавиш и любые элементы управления в окне все равно будут работать).

Хотя это легко изменить, и можетпочти всегда это можно сделать, просто добавив флаг режима графического интерфейса в файл Info.plist приложения:

  1. Щелкните правой кнопкой мыши или удерживая клавишу Ctrl, щелкните другое приложение и выберите «Показать содержимое пакета»
  2. Откройте папку «Содержание»
  3. Откройте Info.plist в выбранном вами текстовом / xml-редакторе *
  4. Добавьте эти две строки сразу после первой строки, которая говорит <dict>
    <key>NSUIElement</key>
    <true/>
  5. Сохраните, а затем запустите приложение.Помните ... нет строки меню, поэтому убедитесь, что одно из его окон имеет фокус и -Q, чтобы выйти, когда вы убедитесь, что оно работает без значка Dock.

* Если вы брезгливы при редактировании xml, илиесли файл plist представляет собой двоичный вариант, вам понадобится специальный редактор plist.Собственный редактор списков свойств Apple входит в их бесплатный Dev Tools .

  1. Добавление дочернего элемента в корень («Список свойств информации»).
  2. Установитевведите имя NSUIElement.
  3. В меню «Правка» (или контекстном меню) установите для параметра «Тип значения» значение «Булево».
  4. Установите флажок «ВКЛ» (устанавливает для bool значение true).1041 *
3 голосов
/ 13 декабря 2011

Построение предыдущего ответа - вы можете изменить Info.plist вашего приложения Applescript с помощью того же XML-кода. Это не позволит приложению Applescript отображать значок (и иметь строку меню, которая, по моему опыту, в любом случае непригодна для этого типа «приложения»), но ваше основное приложение - то, которое вы запускаете из appleScript - будет показывать в доке как обычно.

Я пробовал это на OSX 10.7 Lion, и он успешно работал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...