¿Cómo hacer que los macbook den una alerta periódica cuando Chrome está en primer plano?

-1

Así que tengo un problema con las distracciones en un macbook. Estoy trabajando duro (en emacs) y luego necesito buscar algo. Voy a mi navegador web (Chrome), encuentro la información que necesito y, media hora después, me doy cuenta de que estoy leyendo las acciones que está tomando Mueller para [subvertir la voluntad de la gente / salvar la democracia estadounidense]. Rápidamente vuelvo al trabajo.

Por lo tanto, sería útil si, cuando Chrome está en primer plano, aparezca una alerta después de 5 minutos. Tal vez un sonido, tal vez un cuadro de diálogo. Pero algo que me devuelve al momento y se da cuenta de que estoy perdiendo el tiempo.

He configurado cosas que bloquean mi acceso a sitios web particulares o similares, pero no puedo bloquear todas estas páginas web sin bloquear el acceso a la información que necesito obtener. Así que esa no es la solución.

¿Hay alguna forma de que aparezca algún tipo de alerta cada 5 minutos cuando Chrome ha estado en primer plano?

    
pregunta Joel 20.01.2018 - 06:13

1 respuesta

0

Esto me funciona con la última versión de Sierra.

Pegue este siguiente código AppleScript en el editor de scripts. luego guárdelo como una aplicación. Puede jugar con la demora y los valores de repetición. Pero como está configurado ahora, recibirá una notificación cuando Google Chrome haya sido el frente. La mayoría de las aplicaciones durante cinco minutos.

Simplemente inicie su nueva aplicación cuando quiera que se supervise Google Chrome.

Hasta ahora, el único problema negativo es ... Debido a que tengo un bucle de repetición infinito dentro del código del script, la única forma de salir de la aplicación es forzar el cierre.

property isGoogleFrontmost : missing value

repeat
    tell application "Google Chrome" to set isGoogleFrontmost to frontmost
    Google_Status()
    if isGoogleFrontmost is true then
        repeat 300 times -- 5 minutes with a delay 1 value
            delay 1
            tell application "Google Chrome" to set isGoogleFrontmost to frontmost
        end repeat
        if isGoogleFrontmost is true then
            displayNotification()
        else
            Google_Status()
        end if
    end if
end repeat

on Google_Status()
    tell application "Google Chrome" to set isGoogleFrontmost to frontmost
    tell application "Google Chrome"
        repeat until isGoogleFrontmost is true
            set isGoogleFrontmost to frontmost
        end repeat
    end tell
end Google_Status

on displayNotification()
    display notification ¬
        "GET BACK TO WORK" with title ¬
        "DUDE...Time To Quit Google Chrome" sound name "Bottle"
    delay 5
end displayNotification
    
respondido por el wch1zpink 20.01.2018 - 22:17

Lea otras preguntas en las etiquetas