Los diálogos modales no son algo que puedas garantizar que se muestre. El sistema operativo permite a los usuarios utilizar múltiples pantallas, múltiples escritorios virtuales, aplicaciones de pin en todas las pantallas, no pantallas o una pantalla específica.
Centro de notificaciones es la herramienta correcta para enviar un aviso a un usuario, por lo que rediseñaría su script / herramienta / aplicación para hacer uso del centro de notificaciones.
Además, sin ver un trozo desnudo de lo que ya tiene, es muy difícil sugerirle cómo implementar un cambio. Al igual que en el Desbordamiento de pila: si tiene un problema con una herramienta o un script aquí, muestre su trabajo y haga una pregunta de seguimiento para explicar exactamente lo que desea que suceda y lo que tiene hasta ahora.
Aquí hay un pequeño script de python que puedes probar: un pequeño "script" de python que he adaptado 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 Capitán sin necesidad de archivos adicionales o descargas de afaik. Una vez más, hay docenas de opciones e idiomas, por lo que se trata más de lo que quieres hacer a largo plazo y si te sientes cómodo modificando los scripts.