Si quería tener una barra de Menú de la aplicación que puede hacer que cambie la casilla de verificación para ajustar Automáticamente el brillo de la Pantalla de la ficha de Muestra en Preferencias del Sistema, esta es la forma en que yo lo hago...
Utilizando una versión modificada de código a partir de esta respuesta para el contenedor y añadir en el código para lograr la funcionalidad deseada y meta, aquí está el ejemplo de 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 el valor de la
delay
comando(s) puede ser necesario ajustar para su sistema, y / o adicional delay
comandos puede o puede no ser necesario. Ajustar los valores de y o agregar/quitar el delay
comandos según corresponda.
Copiar y pegar el ejemplo de AppleScript código mostrado anteriormente en un nuevo documento en el Editor de secuencias de Comandos, el ahorro como una aplicación, por ejemplo, Alternar Automáticamente Ajustar el Brillo y comprobar la [√] permanecen abiertos después de ejecutar el controlador de la casilla de verificación guardar.
Luego en la Terminal, ejecute el siguiente comando para ocultar el Dock de Baldosas en el Dock para el 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 por ejemplo, Alternar Ajustar Automáticamente el Brillo de la aplicación:
Preferencias Del Sistema > Seguridad Y Privacidad > Privacidad > Accesibilidad
Mientras que revisar su casilla de verificación.
Ahora, por ejemplo, el Interruptor - Ajustar Automáticamente el Brillo de la aplicación está listo para funcionar y todo lo que va a aparecer es un icono amarillo del sol en la barra de Menú y sin Muelle de Teja en el Dock.
Por ejemplo, el Interruptor - Ajustar Automáticamente el Brillo de la aplicación cambiará marcando y desmarcando la casilla de verificación para ajustar Automáticamente el brillo de la Pantalla de la ficha de Muestra en las Preferencias del Sistema y mostrar un cuadro de diálogo después.
El display dialog
comandos pueden ser sustituidas display notification
comandos si usted prefiere en su lugar.
También tenga en cuenta que este método no funciona con todas las versiones de OS X/macOS sin embargo se debe trabajar con, al menos, 10.11 y más reciente.
Nota: El ejemplo de AppleScript código es sólo eso y no emplea ningún error en el manejo y está destinado sólo para mostrar una de las muchas maneras para realizar una tarea. La responsabilidad recae siempre sobre el Usuario para agregar y/o el uso apropiado de manejo de errores como necesitaba/quería.