Antes de seguir leyendo: Sé sobre mayordomo y programas similares. Estoy buscando una forma integrada de hacer esto sin una aplicación de terceros.
De todos modos, escribí un AppleScript que ejecuta un comando de shell. Quiero mostrar esa salida en la barra de menú en la parte superior ... sin Butler, ¿cómo puedo hacer esto?
applescript
display
menu-bar
FALL3N
fuente
fuente
Respuestas:
Como generalidad, sin un programa de terceros, como Growl, no hay una forma integrada de hacerlo.
Sin embargo, podría escribir un script u otro programa como el que encontré aquí que le proporciona el servicio de menú. Estoy seguro de que la integración de Growl sería mucho más fácil de lograr.
fuente
No hay una forma integrada de hacer esto en OS X. Sin embargo, usando Growl , puede recibir notificaciones. Aquí hay un script de muestra para eso:
Eso debería mostrar esto:
Y si también tiene habilitada la otra notificación:
Aquí se describen técnicas más avanzadas .
fuente
Dado que AppleScriptObjC es parte de macOS, es posible utilizar su marco "Foundation" (incluidos los métodos de NSMenu) para lograr lo que probablemente no fue posible en 2012.
Encontré un script interesante para crear menús personalizados desde AppleScript; de esto extraje el código adecuado para colocar texto en la barra de menú de macOS . De hecho, utiliza solo el "título" de un menú para insertar contenido.
Para demostrar esto, implementé un script de diálogo muy básico que solicita a los usuarios la entrada de texto (esperando 6 segundos) que luego se muestra en la barra de menú temporalmente (5 segundos).
Aquí está:
Este código AppleScript se puede usar en cualquier script suyo. (Su parte de "diálogo" es opcional ...)
user3439894 me ayudó a cerrar mi "menú", ver la última línea del script. ¡Muchas gracias!
fuente
/programming/29168474/creating-a-simple-menubar-app-using-applescript
. . . . . Sin embargo, me temo que mi última línea (funciona la mitad del tiempo) que encontré en otro lugar –y adaptada– NO es correcta . . . . . . No soy programador, así que necesito más tiempo para entender el código.StatusItem's dealloc()
solo es aplicable a la aplicación AppleScriptObjC y no al Editor de scripts y la bloquea accidentalmente.set myText to ...
línea de código , eldisplay dialog
comando anterior, realmente no hace nada en función del código resultante y, por lo tanto, no es necesario en absoluto. En otras palabras, la única usada valor demyText
es la que se asigna después de que eldisplay dialog
comando se ejecuta y por qué ajustarlo a cualquier cosa antes de la deldisplay dialog
comando no se utiliza la codificación y no es necesario en el contexto del código presentado actualmente.StatusItem's dealloc()
oStatusItem's setTitle:""
usaría:current application's NSStatusBar's systemStatusBar()'s removeStatusItem:StatusItem