Прежде чем читать дальше: я знаю про дворецкого и подобные программы. Я ищу встроенный способ сделать это без стороннего приложения.
Во всяком случае, я написал AppleScript, который запускает команду оболочки. Я хочу отобразить этот вывод в строке меню вверху ... без Батлера, как я могу это сделать?
applescript
display
menu-bar
FALL3N
источник
источник
Ответы:
Как правило, без сторонней программы, такой как Growl, не существует встроенного способа сделать это.
Тем не менее, вы можете написать скрипт или другую программу, такую как я нашел здесь, которая предоставляет вам сервис меню. Я уверен, что интеграция Growl будет гораздо проще осуществить.
источник
В OS X нет встроенного способа сделать это. Однако, используя Growl , вы можете получать уведомления. Вот пример сценария для этого:
Это должно отобразить это:
И если у вас включено другое уведомление:
Более продвинутые методы описаны здесь.
источник
Поскольку AppleScriptObjC является частью macOS, можно использовать его основу (включая методы NSMenu) для достижения того, что, вероятно, было невозможно в 2012 году.
Я нашел интересный скрипт для создания пользовательских меню из AppleScript; Из этого я извлек подходящий код для размещения текста в строке меню macOS . Фактически он использует только «заголовок» меню для вставки некоторого контента.
Чтобы продемонстрировать это, я реализовал очень простой диалоговый скрипт, который запрашивает у пользователя ввод текста (ожидание 6 секунд), который затем временно отображается в строке меню (5 секунд).
Вот:
Этот код AppleScript можно использовать в любом вашем скрипте. (Его «диалоговая» часть необязательна…)
user3439894 помог с закрытием моего "меню", см. последнюю строку скрипта. Большое спасибо!
источник
/programming/29168474/creating-a-simple-menubar-app-using-applescript
. , , , , Я боюсь, однако, что моя последняя строка (работает половину времени), которую я нашел где-то еще - и адаптировал - НЕ верна . , , , , , Я не программист, поэтому мне нужно больше времени для понимания кода.StatusItem's dealloc()
он применим только к приложению AppleScriptObjC, а не к редактору сценариев и случайно его вылетает.set myText to ...
строка кода , то один , прежде чемdisplay dialog
команда действительно ничего не делает на основе последующего кода и , следовательно, вообще не требуется. Другими слова, единственные используемое значение вmyText
том , что , который присваивается после того , какdisplay dialog
команда будет работать и почему установить его на что - либо до вdisplay dialog
команде не используется кодирование и нет необходимости в контексте кода в настоящее время представлены.StatusItem's dealloc()
илиStatusItem's setTitle:""
я бы использовал:current application's NSStatusBar's systemStatusBar()'s removeStatusItem:StatusItem