¿Hay alguna forma de desactivar las notificaciones de Growl automáticamente cuando se ejecuta una determinada aplicación, Quick Time por ejemplo? No quiero recibir las notificaciones mientras veo una película.
Respuesta
¿Demasiados anuncios?Todo el crédito a @ghoppe en Super User por esta excelente respuesta . Sólo lo duplico aquí porque un moderador en Meta sugirió que sería conveniente hacerlo.
Tenga en cuenta que esta solución suprimirá Growl cuando VLC (reproductor multimedia) se está ejecutando. Para que funcione con otra aplicación (por ejemplo, QuickTime), tendrás que modificar el Applescript. Si lo has intentado tú mismo pero aún necesitas ayuda, te sugiero que publiques una pregunta al respecto en Stack Overflow .
Sigue la respuesta original:
Entre en el Editor de Applescript, guarde como aplicación, cuando guarde marque la casilla "Stay Open". Utilice esta nueva aplicación applescript para lanzar la aplicación VLC.
Descripción: Iniciará VLC, desactivará las notificaciones growl, comprobará cada 2s si VLC ha salido, si es así volverá a activar las notificaciones growl y luego saldrá. Además, utilizará las notificaciones de gruñidos para notificar cuando se activen o desactiven las notificaciones de gruñidos.
global Growl_was_Loaded
global VLC_is_Loaded
on run
set Growl_was_Loaded to isAppLoaded("GrowlHelperApp")
set VLC_is_Loaded to isAppLoaded("VLC")
launchVLC()
idle
end run
on idle
set x to isAppLoaded("VLC")
if x and not VLC_is_Loaded then
launchVLC()
else if VLC_is_Loaded and not x then
set VLC_is_Loaded to false
if Growl_was_Loaded then
tell application "GrowlHelperApp" to launch
growl_notify("Growl notifications have been turned ON")
end if
tell me to quit
end if
return 2 -- wait 2 seconds
end idle
on launchVLC()
tell application "VLC" to launch
if Growl_was_Loaded then
growl_notify("Launching VLC… Growl notifications have been turned OFF")
delay 1
tell application "GrowlHelperApp" to quit
end if
set VLC_is_Loaded to true
end launchVLC
on isAppLoaded(app_name)
tell application "System Events"
set app_list to every application process whose name is app_name
if the (count of app_list) > 0 then
set x to true
else
set x to false
end if
end tell
return x
end isAppLoaded
on growl_notify(msg)
tell application "GrowlHelperApp"
set the allNotificationsList to {"Growl Toggler"}
register as application "Growl Toggler" all notifications allNotificationsList default notifications allNotificationsList
notify with name "Growl Toggler" title msg description "" application name "Growl Toggler" icon of application "Automator"
end tell
end growl_notify