Тема меняет внешний вид MDM, сохраняя все на своих местах: те же окна, меню и кнопки, но с другими цветами, формами и значками. Каждая тема имеет светлую и темную стороны.
Выбор темы
Откройте Вид → Тема и выберите тему: все окно изменится сразу, перезапускать ничего не нужно. Вид → Поддержка темного режима и Вид → Всегда темная затем выбирают ее светлую или темную сторону, как для классического вида (Темный режим).
Встроенные темы: Классическая (собственный вид MDM, по умолчанию), Системная (акцентный цвет и контрастность вашей системы), Высокая контрастность, а также стилизованные темы Метро, Adwaita, Breeze, Luna, Aero и Aqua, каждая со своими формами элементов управления и значками, а в Windows — со своей строкой заголовка. Начало работы описывает каждую из них; страница тем на веб-сайте показывает их все, светлые и темные.
Расположение файлов тем
Созданные или загруженные вами файлы тем помещаются в папку тем MDM. Вид → Тема → Открыть папку с темами открывает ее (и создает при первом обращении). Она находится в папке данных MDM:
| Система | Папка |
|---|---|
| Windows | %APPDATA%\misterdownloadmanager\themes |
| Linux | ~/.local/share/misterdownloadmanager/themes |
| macOS | ~/Library/Application Support/misterdownloadmanager/themes |
| Портативная копия | data\themesрядом с программой |
В течение двух секунд новый файл появится в Вид → Тема, под встроенными темами, с именем, которое он сам себе присваивает name. После редактирования файла выберите его снова в Вид → Тема, чтобы увидеть изменения.
Тема может быть одним файлом (harbour.toml) или отдельной папкой (harbour/theme.toml), если она содержит значки.
Пункт Вид → Тема → Добавить файл темы… сделает это за вас: выберите файл в любом месте, и MDM скопирует его в папку тем и сразу же применит. Файл, который не является темой, будет проигнорирован, и MDM объяснит причину.
Цветовые схемы Base16 и pywal
Цветовые схемы, созданные для других программ, также являются темами, и их не нужно конвертировать:
- Схема Base16, файл
.yaml, в котором поставляются схемы Base16 и Base24: как классический макет (scheme:иbase00доbase0Fвверху), так и новый (name:и блокpalette:). Схема Base24 читается как первые 16 цветов. - Файл
colors.jsonpywal или файл любой программы в формате pywal (шаблон pywal от wallust).
Добавьте его с помощью Вид → Тема → Добавить файл темы… или поместите его в папку тем самостоятельно. Он появится в Вид → Тема под именем схемы (name: или scheme:; схема pywal названа в честь обоев).
Сам pywal: после запуска wal в Вид → Тема появится pywal, который считывается непосредственно из места, куда pywal записывает свои цвета: ~/.cache/wal/colors.json (в Windows %USERPROFILE%\.cache\wal\colors.json, куда его записывают winwal и pywal; $PYWAL_CACHE_DIR или $XDG_CACHE_HOME/wal, если вы их установили). Выберите его, и MDM будет следовать вашим обоям: каждый раз, когда wal записывает новые цвета, MDM применяет их в течение двух секунд. Он проверяет только дату и размер файла каждые две секунды, и только пока pywal является темой. Копия, добавленная с помощью Добавить файл темы…, сохраняет цвета, которые у нее были.
Схема изменяет только цвета в классическом виде: каждое окно, кнопка и меню остаются на своих местах. Темная схема делает MDM темным, а светлая — светлым, независимо от того, что указано в Вид → Всегда темная. Цвета схемы используются там, где они имеют то же значение:
| MDM | Base16 | pywal |
|---|---|---|
| Список загрузок, текстовые поля и меню | base00(фон) |
special.background |
| Windows, диалоговые окна, панель инструментов, строка меню и заголовки столбцов | base01(более светлый фон) |
фон на один шаг ближе к переднему плану |
| Текст | base05(передний план) |
special.foreground |
| Второстепенный текст (размеры, примечания) | base04 |
color8 |
| Фокус, кнопки по умолчанию, флажки, ссылки, выделение и индикатор выполнения | base0D(синий) |
color4 |
| Ошибки | base08(красный) |
color1 |
| Предупреждения | base0A(желтый) |
color3 |
| Успех, индикаторы и части торрента | base0B(зеленый) |
color2 |
Границы, а также оттенки при наведении и нажатии смешиваются из этих цветов, как для файла темы [seeds]. Текст остается читаемым: текст и второстепенный текст имеют контрастность 4,5:1 или более по отношению к любому фону, на котором они расположены (WCAG AA), акцент — 3:1. Если схема не соответствует этому, эти цвета немного затемняются (осветляются в темной схеме), пока они не пройдут проверку; в журнале MDM указывается, какие именно.
Чтобы изменить не только цвета, создайте файл темы, который наследует схему по имени файла и добавляет то, что вам нравится:
name = "Gruvbox, my way"
inherits = "gruvbox-dark-medium" # gruvbox-dark-medium.yaml, beside it
icons = "accent"
[sizes]
radius = 6
inherits = "pywal"работает так же и также следует wal.
Файл
Тема — это небольшой текстовый файл в формате TOML (или JSON, .json; или цветовая схема, .yaml). Он называет только то, что изменяет; все остальное берется из темы, которую он inherits:
name = "Harbour"
inherits = "classic"
icons = "color"
[seeds.light]
background = "#eef3f6"
surface = "#ffffff"
text = "#11202b"
accent = "#0f6c8c"
[seeds.dark]
background = "#14212a"
surface = "#0e171d"
text = "#e8f0f4"
accent = "#5cc3e6"
[sizes]
radius = 6
[controls]
focus = "ring"
name— то, что отображается в Вид → Тема; имя файла, если оно не указано.inherits— тема, от которой начинается ваша:classic(по умолчанию, если не указана), идентификатор встроенной темы (metro,adwaita,breeze,luna,aero,aqua,high-contrast) или другой файл темы в той же папке, по имени файла без.toml. Файл, который наследует другую тему, может быть унаследован в свою очередь; тема не может наследовать саму себя.[seeds]— несколько цветов (background,surface,header,text,accent,selection,error,warning,success), которые MDM распространяет на все элементы управления.[seeds.light]и[seeds.dark]задают каждому режиму свой цвет.[colors]— роли одного цвета (например,window,accentили"segments.done") для обоих режимов;[light]и[dark]только для одного режима. Цвет — это#rrggbbили#rrggbbaaс прозрачностью. Роли, заданные в файле, имеют приоритет над его базовыми цветами.[sizes]— радиусы углов, ширина границ, размеры шрифтов и высота строк в пикселях.[controls]— форма текстовых полей, флажков, кнопок, индикаторов выполнения, полос прокрутки, маркера фокуса и строки заголовка.icons—color,mono(один цвет) илиaccent.contrast = "high"— усиливает каждый край и цвет текста поверх остального.
Каждая цветовая роль, размер и стиль элемента управления, а также то, что они устанавливают, перечислены на странице тем веб-сайта (считываются из собственного кода MDM, поэтому никогда не отклоняются). Встроенные темы написаны таким же образом: прочитайте их на GitHub.
Ключ, который MDM не знает, или значение, которое он не может прочитать, пропускается и записывается в журнал MDM (папка logs рядом с папкой тем), чтобы файл, созданный для более новой версии MDM, все еще загружался. Файл, который не является действительным TOML или JSON, не загружается, и в журнале указывается причина. Файл, названный как встроенная тема (metro.toml), пропускается: дайте своему файлу собственное имя.
Значки
Тема в собственной папке (harbour/theme.toml) может содержать свои значки в icons/16 и icons/24 (а для изображений PNG — icons/32 и icons/48, используемые на экране с масштабом 150 % и более), каждый из которых назван в соответствии с тем, что он отображает (tb-add-url.svg, cat-music.png…). Файлы SVG и PNG сохраняют свои цвета; файлы -symbolic.svg и -symbolic.png, как их называют GNOME и KDE, принимают цвет текста темы. Значок, которого нет в наборе, отображается так, как его отображает классический вид. Полный список имен находится в themeicons.rs (NEEDS).
Создать тему
- Вид → Тема → Открыть папку с темами и создайте там новый файл
.toml(любой текстовый редактор). - Начните с примера выше: измените цвета базовых элементов, затем добавляйте роли и размеры по мере необходимости.
- Выберите ее в Вид → Тема и посмотрите на обе стороны: Вид → Всегда темная включена и выключена. Убедитесь, что текст читаем, а маркер фокуса виден в обоих режимах.
На странице тем веб-сайта есть подсказка, которую вы можете дать помощнику ИИ, с форматом, каждым ключом и правилами, чтобы он написал тему для вас по описанию.
Поделиться
Создали что-то, что понравится другим? Откройте pull request, который добавит это в crates/app/assets/themes, с:
- файл
.tomlи его папка с иконками, если таковая имеется; - скриншоты главного окна в светлом и темном режимах;
- рядом с любыми значками
SOURCES.txt, указывая, кто их нарисовал и по какой лицензии. Значки должны быть вашими собственными или под лицензией, которая позволяет MDM делиться ими (GPL-3.0), и никогда не копироваться из другой программы.
Не уверены? Сначала обсудите это в дискуссиях. В CONTRIBUTING.md объясняется, как здесь работают запросы на слияние.
Дальнейшие действия
Бесплатно, с открытым исходным кодом, без рекламы, без пробного периода.
Загрузить Mister Download Manager