主题会改变 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 种颜色。 - pywal 的
colors.json,或任何符合 pywal 格式的程序文件(wallust 的 pywal 模板)。
通过视图 → 主题 → 添加主题文件…添加,或自行放入主题文件夹。它会显示在视图 → 主题下,名称为方案名(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 变亮,无论 视图 → 始终为深色 的设置如何。方案的颜色会应用到其含义相同的位置:
| 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(如果省略则为默认值)、内置主题的 ID(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文件(任何文本编辑器)。 - 从上面的示例开始:更改种子的颜色,然后逐步添加角色和大小。
- 在视图 → 主题中选择它,并查看两侧:视图 → 始终为深色的开启和关闭状态。检查文本是否可读,以及焦点标记在两种模式下是否可见。
网站的主题页面提供了一个您可以提供给 AI 助手的提示,其中包含格式、所有键和规则,以便根据描述为您编写主题。
分享
制作了其他人会喜欢的东西?打开一个拉取请求,将其添加到crates/app/assets/themes,并附带:
- 该
.toml文件,以及其图标文件夹(如果有); - 主窗口浅色和深色模式的截图;
- 在任何图标旁添加一个
SOURCES.txt,说明图标的作者及其许可协议。图标必须是您自己创作的,或在允许 MDM 分发的许可协议(GPL-3.0)下发布,绝不能从其他程序复制。
不确定?请先在讨论区中展示。 CONTRIBUTING.md解释了拉取请求的工作方式。
下一步
免费、开源、无广告、无试用版。
下载 Mister Download Manager