Mostrar diálogo desde la línea de comandos (como hace xmessage)

4

Fondo

Me gustaría poder mostrar una ventana de notificación en OS X desde un script. La secuencia de comandos se ejecutará en segundo plano, por lo que la notificación no debe ir a la terminal, sino que debe mostrarse en una ventana de diálogo.

Lo que encontré hasta ahora

xmessage

En Linux probablemente usaría xmessage o una de sus variantes para esto. Pero en OS X, iniciar el servidor X voluminoso solo para esta tarea parece excesivo y demasiado lento para mi gusto.

Cuadro de diálogo del buscador

He encontrado una pregunta similar en este hilo del foro , donde se sugiere la respuesta "aceptada" este comando:

osascript -e 'tell app "Finder" to display dialog "Hey!"'

Pero en mi OS X , el cuadro de diálogo resultante no es se muestra inmediatamente. En su lugar, el icono del Finder comienza a rebotar y el cuadro de diálogo se vuelve visible solo después de hacer clic en el icono. Demasiados clics del mouse, demasiado disruptivos.

Notificador

Hay una respuesta en Superusuario que sugiere una herramienta llamada notificador de terminal . Desafortunadamente, parece que solo funciona para OS X , por lo que no Ayuda en mi caso.

Pregunta

Entonces, ¿hay alguna herramienta, incluida en OS X o disponible de forma gratuita, lo que permite mostrar un pequeño cuadro de diálogo al usuario sin demasiada sobrecarga?

    
pregunta MvG 30.11.2012 - 11:57

2 respuestas

5

Una opción es indicar a un proceso en segundo plano como SystemUIServer que muestre el cuadro de diálogo:

osascript -e 'tell application "SystemUIServer"
display dialog "message"
end
activate application (path to frontmost application as text)'

También puede decirle a la aplicación frontal que muestre un cuadro de diálogo, pero no se muestra inmediatamente si la aplicación no responde. Si MPlayer OS X está en primer plano, los diálogos de texto no aceptan ninguna entrada de teclado.

osascript -e 'tell application (path to frontmost application as text)
display dialog "message"
end'
    
respondido por el user495470 30.11.2012 - 13:03
3

Probar

tell application "System Events" to display dialog "Plug the Digispark into the USB port." buttons {"OK"} with icon caution

Probado en OS X 10.8.2

    
respondido por el Rei Vilo 24.02.2013 - 19:01

Lea otras preguntas en las etiquetas