App per attivare la regolazione automatica della luminosità?


0

Esiste un'app per la barra dei menu che mi consentirebbe di abilitare / disabilitare l'impostazione: "regola automaticamente la luminosità"?

inserisci qui la descrizione dell'immagine

Ho cercato e tutto quello che ho trovato è un'app che modifica i livelli di luminosità effettivi, ma è inutile in quanto esiste come scorciatoia sulla tastiera.

Risposte:


1

Se volevo avere una barra dei menu app che potrebbero attivare o disattivare la casella di controllo per regolare automaticamente la luminosità del display scheda di display in Preferenze di Sistema , questo è come lo faccio ...

Utilizzando il codice modificato da questa risposta per il wrapper e aggiungendo il codice aggiuntivo per raggiungere la funzionalità e l'obiettivo desiderati, ecco l' esempio del codice AppleScript :

-- # 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
  • Si noti che potrebbe essere necessario modificare il valore dei delay comandi per il proprio sistema e che potrebbero essere necessari o meno delay comandi aggiuntivi . Regola i valori di e / o aggiungi / rimuovi i delay comandi come appropriato.

Copia e incolla il codice AppleScript di esempio mostrato sopra in un nuovo documento in Script Editor , salvandolo come un'applicazione, ad esempio Attiva / Disattiva - Regola automaticamente la luminosità e seleziona la casella di controllo [√] Resta aperto dopo l'esecuzione del gestore mentre lo salvi.

Quindi in Terminale , esegui il comando seguente per nascondere il riquadro Dock sul Dock per l'applicazione Toggle - Regola automaticamente la luminosità :

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

Ora aggiungi ad esempio l'applicazione Toggle - Regola automaticamente la luminosità a:

Preferenze di Sistema > Sicurezza e privacy > Privacy > Accessibilità

Mentre si seleziona la relativa casella di controllo .

Ora l'applicazione Toggle - Regola automaticamente la luminosità, ad esempio , è pronta per essere eseguita e tutto ciò che apparirà è un'icona gialla del sole sulla barra dei menu e nessuna piastrella Dock sul Dock .


Icona dell'app barra dei menu


Menu icona app barra dei menu

L'esempio Toggle - Regola automaticamente la luminosità applicazione alternerà selezionando e deselezionando la casella di controllo per regolare automaticamente la luminosità del display scheda di display in Preferenze di Sistema e visualizzare una finestra di dialogo in seguito.

I display dialog comandi potrebbero essere sostituiti con display notification comandi se preferisci quello.

Si noti inoltre che questo metodo non funziona con tutte le versioni di OS X / macOS, tuttavia dovrebbe funzionare con almeno 10.11 e versioni successive.


Nota: il codice AppleScript di esempio è proprio questo e non utilizza alcuna gestione degli errori ed è pensato solo per mostrare uno dei molti modi per eseguire un'attività. Spetta sempre all'utente aggiungere / utilizzare la gestione degli errori appropriata secondo necessità / desiderato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.