8 votes

Le mode sombre de Mojave fait basculer le thème de PyCharm sur Darcula

Existe-t-il un moyen de déclencher le passage des applications tierces à des thèmes sombres lorsque le mode sombre est activé dans MacOS Mojave ?

Plus précisément, puis-je faire en sorte que PyCharm change automatiquement de thème pour Darcula lorsque j'active le mode sombre ?

Extinction des feux affiche une liste de toutes les applications pour lesquelles il est théoriquement possible de choisir sélectivement le mode clair/foncé, mais cela n'a aucun effet sur PyCharm. C'est regrettable, d'autant plus que PyCharm est affiché sur la page d'accueil de LightsOff comme si LightsOff pouvait contrôler son thème . Chrome, MATLAB et SourceTree sont également des applications tierces avec un thème sombre qui n'ont aucun effet. La seule application que j'utilise qui est passée à un thème sombre avec LightsOff est Things.

4voto

Igor Points 236

J'ai trouvé un moyen (peu pratique) de changer de thème dans les éditeurs JetBrains en utilisant bash et AppleScript. Un exemple pour PyCharm serait quelque chose comme :

#!/bin/bash

# Switch macOS dark mode on and off
osascript -e '
    tell application "System Events"
        tell appearance preferences
            set dark mode to not dark mode
        end tell
    end tell
'

# Change PyCharm theme

# Assumes default key mappings
# Switch to dark theme if macOS dark mode is on
# 2>/dev/null to suppress error if macOS dark mode is off
if defaults read -g AppleInterfaceStyle 2>/dev/null | grep -q "Dark"; 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 macOS dark mode is off
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

Je l'utilise en fait dans le cadre d'un script plus large, mais le code ci-dessus devrait fonctionner correctement pour PyCharm uniquement (ou tout autre IDE JetBrains, il suffit de remplacer le nom de l'application). Si vous rencontrez des problèmes, je suggérerais d'augmenter/introduire des délais entre les frappes de touches comme dans le cas suivant delay 0.4 dans le code ci-dessus.

2voto

airsquared Points 4584

Mise à jour : Chrome supporte désormais pleinement le mode sombre dans Chrome 73 et les IDE JetBrains supportent le mode sombre dans 2020.3.


Comme PyCharm et les autres IDE de JetBrains sont conçus en Java, ils ne pourront pas utiliser le mode sombre natif de MacOS. Les paramètres système que vous appliquez n'affecteront probablement pas non plus les applications Java, à moins que le développeur n'ajoute spécifiquement un support, ce qui n'arrivera probablement pas en raison de la complexité de l'utilisation des fonctionnalités système avec Java (j'ai créé quelques applications en Java, et il est actuellement impossible d'utiliser le mode sombre de MacOS).

De nombreuses applications natives prendront en charge le mode sombre sans que le développeur ait à faire quoi que ce soit, mais certaines applications qui utilisent des vues et des contrôles d'interface utilisateur personnalisés, comme Chrome, devront ajouter la prise en charge manuellement. La prise en charge du mode sombre pour Chrome est en cours (voir aquí ). SourceTree utilise également des contrôles personnalisés et ne prend donc pas encore en charge le mode sombre.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X