Dark mode switching (Русский)
Приятно иметь возможность переключения между светлой и тёмной темой. Существуют варианты переключения по заходу солнца или по сочетанию клавиш.
Переключение тем может быть произведено как для запущенных программ, так и для программ, требующих демонов, так и для программ ещё не запущенных. В статье рассматривается переключение для запущенных программ.
Для переключения требуется поддержка от приложения или использование приложением GTK или Qt.
Инструменты
GTK
Большинство тем GTK имеют тёмный вариант, обычно они обозначены суффиксом -dark
. Например стандартная тема для GTK называется Adwaita
, а тёмный вариант называется Adwaita-dark
.
Чтобы залочить тёмный вариант, чтобы он использовался в каждом приложении независимо от настроек приложения, добавьте строчку (смотри также раздел GTK (Русский)#Вариант тёмной темы)
gtk-application-prefer-dark-theme = true
Чтобы мгновенно сменить тему уже работающих приложений, используйте xsettingsd.
Получить текущую используемую тему:
$ xfconf-query -c xsettings -p /Net/ThemeName
Установить тему:
$ xfconf-query -c xsettings -p /Net/ThemeName -s "new-theme"
Изменения применяются мгновенно и влияют на все приложения, использующие GTK.
Qt
Поддержку тем в Qt можно добавить при помощи инструмента QGtkStyle, который применяет настройки как в GTK — смотри раздел Uniform look for Qt and GTK applications#QGtkStyle.
Xfce
Смена темы в Xfce происходит похожим образом через xsettingsd, который распространяется в виде пакета xfce4-settings.
Приложения
Firefox
Firefox автоматически подхватывает текущую тему GTK и адаптирует свой интерфейс. Смотри раздел Firefox (Русский)#Тёмные темы чтобы узнать больше.
Чтобы изменить тему веб страниц, в магазине расширений Firefox рекомендуется расширение Dark Reader.
Thunderbird
Thunderbird применяет текущую тему GTK, но требуются некоторые самостоятельные действия.
Чтобы читать письма в выбранной теме:
- перейдите в меню настроек, вкладка «отображение»
- нажмите на кнопку «Цвета…»
- отметьте галочку «Использовать системные цвета»
- для параметра «Заменять цвета, указанные содержимым, на выбранные мной выше цвета» на «Всегда» или «Только с высококонтрастными темами».
Чтобы смотреть календарь в выбранной теме:
- перейдите в меню настроек, вкладка «календарь»
- отметьте галочку «Optimize colors for accessibility»
Ко всему этому можно использовать кастомный userchrome.css
. Подробнее смотрите раздел Thunderbird#Theming tweaks, Firefox/Tweaks#General user interface CSS settings и статью UserChrome.css на mozillaZine.
Visual Studio Code
Установите настройку workbench.colorTheme
в Default Dark+
, чтобы применить тёмную тему, и Default Light+
, чтобы применить светлую тему. В магазине расширений можно найти альтернативные темы, в том числе и тёмные.
Alacritty
Alacritty поддерживает множество тем. Примеры конфигурации можно найти на странице color schemes на вики в GitHub репозитории проекта. Например, известная в IDEA тема Darkula есть в разделе Dracula на этой же странице.
Чтобы задать тему, требуется указать, к чему она относится, например укажите &black
после названия. После этого просто выполните colors: *black
.
Границы окна и тайтлбар подчиняются теме GTK, но можно форсировать собственное поведение, установив настроку gtk_theme_variant
в положение None
.