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

From ArchWiki
Jump to navigation Jump to search

Приятно иметь возможность переключения между светлой и тёмной темой. Существуют варианты переключения по заходу солнца или по сочетанию клавиш.

Переключение тем может быть произведено как для запущенных программ, так и для программ, требующих демонов, так и для программ ещё не запущенных. В статье рассматривается переключение для запущенных программ.

Для переключения требуется поддержка от приложения или использование приложением 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, но требуются некоторые самостоятельные действия.

Чтобы читать письма в выбранной теме:

  1. перейдите в меню настроек, вкладка «отображение»
  2. нажмите на кнопку «Цвета…»
  3. отметьте галочку «Использовать системные цвета»
  4. для параметра «Заменять цвета, указанные содержимым, на выбранные мной выше цвета» на «Всегда» или «Только с высококонтрастными темами».

Чтобы смотреть календарь в выбранной теме:

  1. перейдите в меню настроек, вкладка «календарь»
  2. отметьте галочку «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.