Fai cambiare la modalità oscura di Mojave al tema PyCharm su Darcula

2

C'è un modo per attivare le app di terze parti per passare ai temi scuri quando la Modalità scura è attivata in macOS Mojave?

In particolare, posso attivare automaticamente il tema dell'interruttore PyCharm su Darcula quando accendo la modalità oscura?

LightsOff mostra un elenco di tutte le app per scegliere in modo selettivo la modalità chiaro / scuro, ma non ha alcun effetto su PyCharm. Questo è sfortunato soprattutto perché PyCharm è mostrato sulla homepage di LightsOff come se LightsOff potesse controllare il suo tema . Chrome, MATLAB e SourceTree sono anche app di terze parti con un tema scuro che non mostrano alcun effetto. L'unica app che uso per passare a un tema scuro con LightsOff è Things.

    
posta buzjwa 29.10.2018 - 17:09
fonte

2 risposte

3

Dato che PyCharm e altri IDE JetBrains sono realizzati in Java, non saranno in grado di utilizzare la modalità nativa macOS nativa. Molto probabilmente le impostazioni di sistema applicate non influiranno sulle applicazioni Java, a meno che lo sviluppatore non aggiunga il supporto specifico, cosa che probabilmente non accadrà a causa della complessità dell'uso delle funzionalità di sistema con Java. (Ho creato alcune app in Java e al momento non è possibile utilizzare la modalità dark macOS

Molte app native supporteranno la modalità oscura senza che lo sviluppatore debba fare nulla, ma alcune che usano visualizzazioni e controlli dell'interfaccia utente personalizzati, come Chrome, dovranno aggiungere il supporto manualmente. È in corso il supporto per la modalità oscura per Chrome (consulta qui ). SourceTree utilizza anche controlli personalizzati e quindi non supporta ancora la Modalità oscura.

    
risposta data 29.10.2018 - 21:51
fonte
0

Ho trovato un modo (hacky) per cambiare i temi negli editor di JetBrains usando bash e AppleScript. Un esempio per PyCharm potrebbe essere qualcosa del tipo:

#!/bin/bash
# Get the status of macOS dark mode and store as variable
isDarkModeOn=$(
    osascript <<EOT
    tell application id "com.apple.systemevents"
        tell appearance preferences
            set isDarkModeOn to dark mode
        end tell
    end tell
EOT
)

# Switch macOS dark mode on and off
# Equivalent to setting dark mode in System Preferences
osascript -e '
    tell application id "com.apple.systemevents"
        tell appearance preferences
            if dark mode is true then
                set dark mode to false
            else
                set dark mode to true
            end if
        end tell
    end tell
    '

# Change PyCharm theme
# Assumes default key mappings
# Switch to dark theme if dark mode was was off
if [ "$isDarkModeOn" = false ]; then
    osascript -e '
        if application "PyCharm" is running then
            -- switch focus to PyCharm
            tell application "PyCharm" to activate
            tell application "System Events"
                -- open Quick Switch Theme menu
                keystroke "'" using {control down}
                -- Select Look and Feel
                keystroke "5"
                delay 0.4
                -- Select Darcula
                keystroke "2"
            end tell
        end if
        '
# Switch to light theme if dark mode was on
else
    osascript -e '
        if application "PyCharm" is running then
          tell application "PyCharm" to activate
            tell application "System Events"
                keystroke "'" using {control down}
                keystroke "5"
                delay 0.4
                keystroke "1"
            end tell
        end if
        '
fi

In realtà io lo uso come parte di uno script più grande ma il codice sopra dovrebbe funzionare bene solo per PyCharm (o qualsiasi altro IDE JetBrains, basta sostituire il nome dell'applicazione). Questo è ovviamente hacky. Se riscontri problemi, ti suggerisco di aumentare / introdurre ritardi tra le sequenze di tasti come delay 0.4 nel codice sopra.

    
risposta data 23.01.2019 - 17:08
fonte

Leggi altre domande sui tag