¿Hay alguna forma de limitar la frecuencia con la que puede iniciar una aplicación?

4

En mi teléfono, estoy disfrutando de un nuevo tweak llamado MailStop cuyo único propósito es limitar mi reflejo de revisar mi correo con demasiada frecuencia. Lo he configurado para que no me permita iniciar la aplicación de correo durante cinco horas una vez que ya lo haya iniciado. Esto ha tenido un gran impacto en mi correo revisando el abuso. Me detengo y recuerdo que lo reviso con demasiada frecuencia cada vez que intento abrirlo durante estas horas.

Hay otras formas de limitar el abuso de la aplicación de correo con esta aplicación, pero mi pregunta es la misma que el título: ¿Existe alguna forma de limitar la frecuencia con la que puede iniciar una aplicación en el mac?

    
pregunta andersmoldin 18.02.2013 - 12:20

4 respuestas

6

Puedes hacerlo usando AppleScript:

1. Abre el editor de AppleScript

2. Pegue el siguiente código:

property appName : "Mail"
property minSecsBetweenLaunches : 600 -- seconds
property checkEvery : 5 -- seconds

-- DO NOT MODIFY AFTER THIS LINE IF NOT SURE --

property lastSeenOpen : ""
property lastMailState : ""

on run
    idle
end run

on idle
    my check()
    return checkEvery -- check every n seconds
end idle

on check()
    tell application "Finder" to set processes_names to name of processes
    if (lastMailState is "") then
        -- First run
        set lastMailState to (processes_names contains appName)
        if lastMailState then
            set lastSeenOpen to current date
        end if
    else
        if (processes_names contains appName) then
            if (lastMailState is false) then
                -- App just started
                set lastMailState to true
                if (lastSeenOpen is not "") then
                    -- Already been launched, check if launch allowed
                    set timeLeft to minSecsBetweenLaunches - ((current date) - lastSeenOpen)
                    if (timeLeft > 0) then
                        tell application appName to quit
                        activate
                        display dialog "Wait " & timeLeft & " sec. before opening " & appName & " again."
                    end if
                end if
            end if
            set lastSeenOpen to current date
        else
            if (lastMailState is true) then
                -- App just quit
                set lastMailState to false
            end if
        end if
    end if
end check

3. Ajustar la configuración

Las 3 primeras líneas del script pueden editarse para adaptarse a sus necesidades. De forma predeterminada, compruebe cada 5 segundos si el correo no se ha visto abierto desde hace 10 minutos (que es de 600 segundos).

4. Crea la aplicación

Menú de archivo > Exportar

  • Elija el nombre de la aplicación & destino
  • selecciona exportar como aplicación
  • marca "permanecer abierto ..."

5. Ocultar del muelle

En el Finder, encuentre la aplicación que acaba de exportar, luego haga clic derecho en ella y seleccione "Mostrar contenido del paquete". Luego abra "Info.plist" de la carpeta "Contenido" en TextEdit y, antes del último < / dict > del archivo, pegue:

<key>LSBackgroundOnly</key>
<string>1</string>

Para información, después de editar, el final de mi archivo se ve así:

[...]
        <string>event log</string>
    </dict>
    <key>LSBackgroundOnly</key>
    <string>1</string>
</dict>
</plist>

Y guárdalo, por supuesto.

6. Configure su aplicación como elemento de inicio

Preferencias del sistema > Usuarios > ...

    
respondido por el Bibou 22.02.2013 - 16:31
4

Sería bastante fácil para alguien escribir un uso de la aplicación de control de utilidades en OS X, y parece que alguien ya lo ha hecho. Eche un vistazo a Bloqueador de aplicaciones de Mac. Tiene granularidad por aplicación y restricción por programa. Actualmente no tiene la capacidad de limitar una aplicación a X lanzamientos por hora / por día.

Envié esta solicitud de función al desarrollador por correo electrónico:

Feb. 20, 2013
Can you add the ability to limit an application to launching  x number of 
times per hour, per day, or per week?  And, related, to limit an app to 
launching *no more than* once every x hours, days, or weeks?

Obtuve esta respuesta:

Feb. 21, 2013
I have had a few other requests along the same lines. Perhaps it would be 
a good idea to add this kind of functionality. As Mac App Blocker has 
progressed over the past year, it has become more feature rich and, 
possibly a little more complicated. As it is, we're trying to fulfill 
more requests while keeping the app simple to use. I like your idea and I 
would like to add something to MAB for these types of options.
I will definitely add this to our growing list of feature requests.
Hopefully, we'll get this added in a (near) future release.

Ken
<censored>@<censored>.com
KnewSense, LLC

Comprueba esa aplicación en 6 meses o un año, tal vez se agregue.

Las opciones de último recurso podrían incluir verter epoxi en el teclado, esposar al usuario problemático o eliminar la alimentación de red del edificio.

    
respondido por el gosmond 21.02.2013 - 09:27
2

Sí, se llama Willpower 1.0. :-)

En serio, lo único que puedo pensar es en los controles parentales, que pueden limitar ciertas acciones por hora del día, pero no creo que eso sea lo que quieres. Probablemente hay otras aplicaciones diseñadas para limitar la actividad de los niños en Mac que podrían tener controles más precisos.

    
respondido por el Kirk McElhearn 21.02.2013 - 08:53
0

En la misma línea que @ Kick-McElhearn, puede configurar controles parentales para tener algunas ventanas para revisar el correo electrónico, e informar a las personas que le envían correos electrónicos que de hecho están cumpliendo esas ventanas.

    
respondido por el juandesant 22.02.2013 - 16:06

Lea otras preguntas en las etiquetas