Dark mode switching (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Dark mode switching
. Дата последней синхронизации: 24 января 2022. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Приятно иметь возможность переключения между
светлой и тёмной темой
. Существуют варианты переключения по заходу солнца или по сочетанию клавиш.
Переключение тем может быть произведено как для запущенных программ (возможно, требуется работа
демона
), так и для программ ещё не запущенных. В статье рассматривается переключение для запущенных программ.
Для переключения требуется поддержка от приложения или использование приложением
GTK
или
Qt
.
Инструменты
darkman
— Инструмент, позволяющий автоматизировать переход в тёмную тему на закате и возврат к светлой теме на восходе. Он позволяет разместить drop-in скрипты, которые будут автоматически выполняться в нужное время.
https://gitlab.com/WhyNotHugo/darkman/
||
darkman
Yin-Yang
— Другой инструмент с похожими возможностями, однако запуск произвольных скриптов ещё не поддерживается.
https://github.com/oskarsh/Yin-Yang
||
yin-yang-git
AUR
GTK
Для переключения между светлым и тёмным вариантами нужно менять используемую тему.
Большинство тем
GTK
имеют тёмный вариант, обычно они обозначены суффиксом
-dark
. Например, стандартная тема для
GTK
называется
Adwaita
, а тёмный вариант называется
Adwaita-dark
.
Чтобы постоянно использовать только тёмный вариант, смотрите
GTK (Русский)#Вариант тёмной темы
.
Чтобы мгновенно сменить тему уже работающих приложений, требуется или демон, предоставляющий
xsettings spec
, или gsettings. Для окружений, работающих в
Xorg
нужен демон xsettings. Для
Wayland
нужен gsettings.
Демон xsettings
xsettings нужен для сеансов
Xorg
.
Демон xsettings для
Xfce
—
xfsettingsd
, доступен в пакете
xfce4-settings
.
Получить текущую используемую тему:
$ xfconf-query -c xsettings -p /Net/ThemeName
Установить тему:
$ xfconf-query -c xsettings -p /Net/ThemeName -s "new-theme"
Изменения применяются мгновенно и влияют на все приложения, использующие GTK.
gsettings
gsettings нужен для сеансов
Wayland
.
Получить текущую используемую тему:
$ gsettings get org.gnome.desktop.interface gtk-theme
Установить тему:
$ gsettings set org.gnome.desktop.interface gtk-theme "new-theme"
Изменения применяются мгновенно и влияют на все приложения, использующие GTK.
Qt
Qt
имеет механизм поддержки тем, похожий на GTK.
Один из вариантов —
использовать GTK для стилизации Qt-приложений
.
Тогда изменение темы GTK повлияет и на Qt-приложения тоже.
Другой способ — использовать родную тему Qt, например
adwaita-qt5
AUR
. Для переключения тем смотрите
Qt (Русский)#Настройка приложений Qt 5 в средах, отличных от KDE Plasma
.
Xfce
Смена темы в
Xfce
происходит похожим образом через
xsettingsd
, который распространяется в виде пакета
xfce4-settings
.
Приложения
Firefox
Firefox
автоматически подхватывает текущую тему GTK и адаптирует свой интерфейс. Смотрите раздел
Firefox (Русский)#Тёмные темы
, чтобы узнать больше.
Для изменения темы веб-страниц в магазине расширений Firefox рекомендуется расширение
Dark Reader
.
Thunderbird
Thunderbird
применяет текущую тему GTK, но рекомендуются некоторые самостоятельные действия.
Смотрите
Thunderbird (Русский)#Установка темы
.
Visual Studio Code
Для
Visual Studio Code
может пригодиться
этот скрипт
.
Alacritty
Alacritty
поддерживает множество тем. Примеры конфигурации можно найти на странице
color schemes
на вики в GitHub репозитории проекта. Например, известная в
IDEA
тема
Darkula
есть в разделе
Dracula
на этой же странице.
Чтобы быстро сменить тему, требуется определить указатель для каждой цветовой схемы. Например, укажите
&black
после названия. После этого просто выполните
colors: *black
. Изменение в файле конфигурации применится мгновенно и затронет все запущенные экземпляры. Если нет, то, возможно, понадобится прописать
live_config_reload: true
.
Границы окна и
тайтлбар
подчиняются теме GTK, но можно форсировать собственное поведение, установив настроку
gtk_theme_variant
в положение
None
.