¿Aplicación para alternar el ajuste de brillo automático?

0

¿Hay una aplicación para la barra de menú que me permita habilitar / deshabilitar: ¿"ajustar automáticamente el brillo" configuración?

He buscado y todo lo que he encontrado es una aplicación que cambia los niveles de brillo reales, pero es inútil ya que existe como acceso directo en el teclado.

    
pregunta Paschalis 19.03.2018 - 11:03

1 respuesta

1

Si quisiera tener una barra de menú aplicación que podría cambiar la casilla de verificación para Ajustar el brillo automáticamente en la pestaña Mostrar de Pantallas en Preferencias del sistema , así es como lo hago ...

Uso del código modificado de esta respuesta para el envoltorio y agregando el código adicional para lograr la funcionalidad y el objetivo deseados, aquí está el ejemplo AppleScript código :

-- # Acknowledgment: Some of the code used herein is modified code from the following answer:
-- # https://apple.stackexchange.com/questions/293307/applescript-run-from-menu-bar/293392#293392

use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "AppKit"

property aStatusItem : missing value

on run
    init() of me
end run

on init()
    set aList to {"Toggle - Automatically Adjust Brightness", "", "Quit"}
    set aStatusItem to current application's NSStatusBar's systemStatusBar()'s statusItemWithLength:(current application's NSVariableStatusItemLength)
    aStatusItem's setTitle:"☀️"
    aStatusItem's setHighlightMode:true
    aStatusItem's setMenu:(createMenu(aList) of me)
end init

on createMenu(aList)
    set aMenu to current application's NSMenu's alloc()'s init()
    repeat with i in aList
        set j to contents of i
        if j is not equal to "" then
            set aMenuItem to (current application's NSMenuItem's alloc()'s initWithTitle:j action:"actionHandler:" keyEquivalent:"")
        else
            set aMenuItem to (current application's NSMenuItem's separatorItem())
        end if
        (aMenuItem's setTarget:me)
        (aMenu's addItem:aMenuItem)
    end repeat
    return aMenu
end createMenu

on actionHandler:sender
    set aTitle to title of sender as string
    if aTitle is not equal to "Quit" then
        my clickAutomaticallyAdjustBrightness()
    else
        current application's NSStatusBar's systemStatusBar()'s removeStatusItem:aStatusItem
        tell current application to quit
    end if
end actionHandler:

on clickAutomaticallyAdjustBrightness()
    if running of application "System Preferences" then
        quit application "System Preferences"
        delay 1
    end if
    tell application "System Preferences"
        reveal anchor "displaysDisplayTab" of pane id "com.apple.preference.displays"
        delay 1
        tell application "System Events"
            tell group 1 of tab group 1 of window 1 of application process "System Preferences"
                click checkbox "Automatically adjust brightness"
                set isChecked to (value of checkbox "Automatically adjust brightness") as boolean
            end tell
        end tell
        quit
    end tell
    if isChecked then
        display dialog "      Automatically adjust brightness is checked." buttons {"OK"} default button 1 ¬
            with title "Toggle - Automatically Adjust Brightness" giving up after 5
    else
        display dialog "   Automatically adjust brightness is not checked." buttons {"OK"} default button 1 ¬
            with title "Toggle - Automatically Adjust Brightness" giving up after 5
    end if
end clickAutomaticallyAdjustBrightness
  • Tenga en cuenta que es posible que el valor de los comandos delay deba ajustarse para su sistema, y / o comandos adicionales delay puede o no ser necesario. Ajuste valores de y / o agregue / elimine los comandos delay según corresponda.

Copie y pegue el ejemplo AppleScript código que se muestra arriba en un nuevo documento en Script Editor , guardándolo como una aplicación, por ejemplo Alternar - Ajustar automáticamente el brillo y marque la casilla de verificación [√] Manténgase abierto después de ejecutar el controlador mientras lo guarda.

Luego, en Terminal , ejecuta el siguiente comando para ocultar el Dock Tile en el Dock para, por ejemplo. Alternar - Ajustar automáticamente el brillo de la aplicación:

defaults write '/Applications/Toggle - Automatically Adjust Brightness.app/Contents/Info.plist' LSUIElement -bool yes

Ahora agregue el e.g. Alternar - Ajustar automáticamente el brillo de la aplicación a:

Preferencias del sistema > Seguridad & Privacidad > Privacidad > Accesibilidad

Mientras marca su casilla de verificación .

Ahora el e.g. La aplicación Alternar - Ajustar brillo automáticamente está lista para ejecutarse y todo lo que aparecerá es un icono amarillo del sol en la barra de menús y no Dock Tile en el Dock .

La p. ej. La aplicación Alternar - Ajustar el brillo automáticamente cambiará la selección y desactivación de la casilla de verificación para Ajustar el brillo automáticamente en la pestaña Mostrar de Pantallas en Preferencias del sistema y luego aparece un cuadro de diálogo.

Los comandos display dialog podrían reemplazarse con los comandos display notification si así lo prefieres.

También tenga en cuenta que este método no funciona con todas las versiones de OS X / macOS, sin embargo, debería funcionar con al menos 10.11 y más reciente.

Nota: El ejemplo AppleScript código es solo eso y no emplea ningún manejo de errores y está pensado solo para mostrar una de las muchas formas de realizar una tarea. La responsabilidad recae siempre sobre el Usuario para agregar / usar el manejo de errores según sea necesario / deseado.

    
respondido por el user3439894 20.03.2018 - 04:56

Lea otras preguntas en las etiquetas