Los diálogos modales no son algo que se pueda garantizar que se mostrarán. El sistema operativo permite a los usuarios utilizar múltiples pantallas, múltiples escritorios virtuales, fijar aplicaciones a todas las pantallas, a ninguna pantalla o a una pantalla específica.
Centro de notificaciones es la herramienta correcta para enviar una notificación a un usuario así que yo rediseñaría tu script/tool/app para hacer uso del centro de notificaciones.
Además, sin ver algo de lo que ya tienes, es muy difícil sugerirte cómo implementar un cambio. Al igual que en Stack Overflow - si usted tiene un problema con una herramienta o un script aquí, por favor muestre su trabajo y haga una pregunta de seguimiento para explicar exactamente lo que desea que suceda y lo que tiene hasta ahora.
Aquí tienes un pequeño script de Python que puedes probar: un pequeño "script" de Python que he adaptado a partir de una breve búsqueda de SO :
import Foundation
import objc
import AppKit
import sys
note = objc.lookUpClass('NSUserNotification')
center = objc.lookUpClass('NSUserNotificationCenter')
def notify(title, subtitle, info_text, delay=0, sound=False, userInfo={}):
notification = note.alloc().init()
notification.setTitle_(title)
notification.setSubtitle_(subtitle)
notification.setInformativeText_(info_text)
notification.setUserInfo_(userInfo)
if sound:
notification.setSoundName_("NSUserNotificationDefaultSoundName")
notification.setDeliveryDate_(Foundation.NSDate.dateWithTimeInterval_sinceDate_(delay, Foundation.NSDate.date()))
center.defaultUserNotificationCenter().scheduleNotification_(notification)
notify("AskDifferent", "you can program now", "Here we go... ", sound=True)
sys.stdout.write("Notification sent...\n")
Funciona en El Capitan sin necesidad de archivos adicionales o descargas afaik. De nuevo, hay docenas de opciones e idiomas, así que depende más de lo que quieras hacer a largo plazo y de si te sientes cómodo modificando scripts.
0 votos
Dado que se trata de una pregunta sobre desarrollo de software, debería formularla en StackExchange . Este sitio es para clientes de Apple y no para desarrolladores. A la espera de respuestas más detalladas sobre StackExchange, que mirar a NSUserNotification .
0 votos
@GrahamMiln No tengo acceso al código fuente de iTunes o Safari para controlar su comportamiento. Este es un problema más general sobre la presentación de vistas modales en osx.
0 votos
¿Podría reformular su pregunta? ¿Está preguntando por el comportamiento de Safari y otras aplicaciones o se refiere a su propia aplicación? Para su propia aplicación, utilice NSUserNotification.
0 votos
@GrahamMiln Es general. Sólo quiero que todas las apps me avisen inmediatamente cuando necesiten mi atención (no a través del icono de rebote). La pregunta es no relacionados con el desarrollo de software.
0 votos
He reformulado su pregunta y la he propuesto para su reapertura.
0 votos
@GrahamMiln Difícil decisión - y mi respuesta muestra que es más objetivo C que Python para una "solución" - pero generalmente no cerramos o movemos algo a menos que sea claramente algo que sólo se puede resolver con código. En este caso, Automator podría envolver la solicitud de diálogo modal bastante bien. ¡Buena edición, también!