Domanda:
Alterna la modalità luce / modalità scura e colore accento da una all'altra
Aditya J.
2018-07-25 21:55:40 UTC
view on stackexchange narkive permalink

Sono nuovo nello scripting, quindi scusa la mia mancanza di conoscenza.Vorrei creare un interruttore che passi dalla modalità luce e un colore di accento (ed evidenziazione) di blu alla modalità scura e un colore di accento / evidenziazione di rosso.Finora, sono stato in grado di creare l'interruttore solo per la modalità Chiaro / Scuro, oltre a cambiare solo il colore di evidenziazione (ma non attivarlo).Tuttavia, poiché il colore accento è una nuova funzionalità di macOS in Mojave, non sono sicuro di come procedere perché non riesco a trovare l'attributo per il colore accento.

Due risposte:
wch1zpink
2018-10-03 00:33:37 UTC
view on stackexchange narkive permalink

Forse questo codice applecript ti aiuterà un po '

  dì all'applicazione "Preferenze di Sistema"
    rivelare l'ancora "Main" dell'id del riquadro "com.apple.preference.general"
fine raccontare

dire all'applicazione "Eventi di sistema"
    ripetere fino a quando non esiste la casella di controllo "Scuro" della finestra "Generale" del processo di applicazione "Preferenze di sistema"
        ritardo 0.1
    fine ripetizione
    -- Aspetto
    fare clic sulla casella di controllo "Scuro" della finestra "Generale" del processo di applicazione "Preferenze di sistema"
    - Colore accento
    fare clic sulla casella di controllo "Rosso" della finestra "Generale" del processo di applicazione "Preferenze di sistema"
    - Menu a discesa per evidenziare il colore
    fare clic sul pulsante popup 1 della finestra "Generale" del processo di applicazione "Preferenze di sistema"
    - Evidenzia colore
    fare clic sulla voce di menu "Rosso" del menu 1 del pulsante a comparsa 1 della finestra "Generale" del processo di applicazione "Preferenze di sistema"
fine raccontare

dire all'applicazione "Preferenze di Sistema" di uscire
 

UPDATE:

Facendo un ulteriore passo avanti, salva questo codice AppleScript seguente come applicazione. Quando viene avviata questa nuova app, consente di scegliere le diverse modalità di colore.

  proprietà aspectMode: {"Light", "Dark"}
accento di proprietàColori: {"Blu", "Viola", "Rosa", "Rosso", "Arancione", "Giallo", "Verde", "Grafite"}
proprietà highlightColors: {"Blue", "Purple", "Pink", "Red", "Orange", "Yellow", "Green", "Graphite", "Other"}

attivare
imposta selectedAppearanceMode su (scegli dall'elenco aspectMode ¬
    con il titolo "Scegli la tua modalità di aspetto" con prompt ¬
    "Scegli la tua modalità di aspetto" Nome del pulsante OK ¬
    "OK" cancella il nome del pulsante "CANCEL") come stringa

se selectedAppearanceMode è "false", restituisci

attivare
imposta selectedAccentColor su (scegli dall'elenco accentColors ¬
    con il titolo "Scegli il tuo colore accento" con prompt ¬
    "Scegli il colore dell'accento" Nome del pulsante OK ¬
    "OK" cancella il nome del pulsante "CANCEL") come stringa

se selectedAccentColor è "false", restituisci

attivare
imposta selectedHighlightColor su (scegli dall'elenco highlightColors ¬
con il titolo "Scegli il tuo colore di evidenziazione" con prompt ¬
    "Scegli il colore di evidenziazione" Nome del pulsante OK ¬
    "OK" cancella il nome del pulsante "CANCEL") come stringa

se selectedHighlightColor è "false", restituisci

provare
    se l'applicazione "Preferenze di Sistema" è in esecuzione, esegui lo script di shell "killall 'Preferenze di Sistema'"
fine prova
ripetere fino a quando l'applicazione "Preferenze di Sistema" non è in esecuzione
    ritardo 0.1
fine ripetizione

dì all'applicazione "Preferenze di Sistema" di rivelare l'ancora "Principale" dell'id del riquadro "com.apple.preference.general"

dire all'applicazione "Eventi di sistema"
    ripeti fino a quando esiste la casella di controllo selezionata.
        ritardo 0.1
    fine ripetizione
    -- Aspetto
    fare clic sulla casella di controllo presceltaAppearanceMode della finestra "General" del processo di applicazione "System Preferences"
    - Colore accento
    fare clic sulla casella di controllo selezionataAccentoColore della finestra "Generale" del processo di applicazione "Preferenze di sistema"
    - Menu a discesa per evidenziare il colore
    fare clic sul pulsante popup 1 della finestra "Generale" del processo di applicazione "Preferenze di sistema"
    - Evidenzia colore
    fare clic sulla voce di menu scelta Evidenzia Colore del menu 1 del pulsante a comparsa 1 della finestra "Generale" del processo di applicazione "Preferenze di sistema"
fine raccontare

provare
    se l'applicazione "Preferenze di Sistema" è in esecuzione, esegui lo script di shell "killall 'Preferenze di Sistema'"
fine prova
 

enter image description here


SIDENOTE: Il motivo per cui utilizzo il comando do shell script "killall 'System Preferences'" anziché dire all'applicazione "System Preferences" di uscire è .. Diciamo, per qualsiasi motivo, Preferenze di Sistema.app è già attivato (con, ad esempio, la finestra Condivisione / Gestione remota / Impostazioni computer aperta) ma non visibile o non in primo piano o altro. In Script Editor, provi a eseguire dire all'applicazione "Preferenze di Sistema" per rivelare l'ancora "SpeakableItems" dell'id del riquadro "com.apple.preference.universalaccess" Quel comando viene completato senza errori evidenti ma quando cambi oltre a Preferenze di Sistema, la tua "ancora rivelata" non viene rivelata. Ok, niente di grave, soluzione facile. Inserirò semplicemente un comando dico all'applicazione "Preferenze di Sistema" di uscire prima del comando rivela anchor . Questa volta eseguendo il codice aggiornato, viene visualizzato un errore (userCanceledErr: -128). Tutto questo fastidio è perché quella finestra a discesa secondaria in Preferenze di Sistema è aperta. A mio parere, il comando do shell script "killall 'System Preferences'" sembra essere la soluzione migliore.

È fantastico!grazie per aver condiviso questo @wch1zpink
Èuna buona ragione per cui stai usando `se l'applicazione" Preferenze di Sistema "è in esecuzione allora esegui lo script di shell" killall 'Preferenze di Sistema' "" ** su ** `se l'applicazione" Preferenze di Sistema "è in esecuzione allora dì all'applicazione" Preferenze di Sistema"uscire"?Sembra un po 'eccessivo sborsare e uccidere un'app che in genere risponderà in modo affidabile a un comando `quit`.
C'è un'ottima ragione per cui uso lo script di shell "killall".Ci sono momenti in cui Preferenze di Sistema.app apre una finestra a discesa secondaria (ad esempio ... Comandi di accessibilità / dettatura / dettatura ...) <- scegliendo che verrà rivelata una finestra secondaria.Se una di queste finestre è effettivamente aperta durante il tentativo di utilizzare il comando "comunica alle preferenze di sistema dell'applicazione di uscire", si verifica un errore e non si chiude.Quindi, solo per evitarlo, ora uso sempre il comando "killall"
Ri: "Ci sono momenti in cui Preferenze di Sistema.app apre una finestra a discesa secondaria (ad esempio ... Comandi di accessibilità / Dettatura / Dettatura ...)" ... beh potresti fare clic sul pulsante ** Fine ** equindi emettere un _command_ `quit`.:)
@user3439894 Penso che tu stia perdendo il punto.Leggi la nota a margine che ho aggiunto in fondo al mio post originale.Sono tutto orecchie se hai una soluzione migliore.
Oliver
2018-10-02 20:19:34 UTC
view on stackexchange narkive permalink

Ho appena provato a fare la stessa cosa e credo che non sia ancora possibile. Nell'app Script Editor puoi vedere la "libreria" per la documentazione sugli eventi di sistema. Fa menzione della modalità scura e del colore di evidenziazione , ma non del accent color .

Oggetto preferenze aspetto n: una raccolta di preferenze aspetto proprietà
- aspetto (blu / ‌grafito): l'aspetto generale di pulsanti, menu e finestre - smussatura dei caratteri (booleano): è attiva la smussatura dei caratteri?
- stile di smussatura dei caratteri (automatico / ‌light / ‌medium / ‌standard / ‌strong): il metodo utilizzato per smussare i caratteri
- colore di evidenziazione (blu / ‌oro / ‌grafite / ‌verde / ‌arancio / ‌viola / ‌rosso / ‌argento o colore): colore utilizzato per evidenziare il testo e gli elenchi selezionati
- limite applicazioni recenti (numero intero): il numero di applicazioni recenti da monitorare - limite documenti recenti (numero intero): il numero di documenti recenti da monitorare
- limite server recenti (numero intero): il numero di server recenti da monitorare
- azione barra di scorrimento (salta qui / ‌ salta alla pagina successiva): l'azione eseguita facendo clic sulla barra di scorrimento
- scorrimento uniforme (booleano): viene utilizzato lo scorrimento uniforme?
- modalità oscura (booleana) : usa la barra dei menu scura e il dock



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...