Mister Download Manager
  1. 主页
  2. 帮助
  3. 主题

主题

主题会改变 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)中。

制作主题

  1. 视图 → 主题 → 打开主题文件夹,并在其中创建一个新的.toml文件(任何文本编辑器)。
  2. 从上面的示例开始:更改种子的颜色,然后逐步添加角色和大小。
  3. 在视图 → 主题中选择它,并查看两侧:视图 → 始终为深色的开启和关闭状态。检查文本是否可读,以及焦点标记在两种模式下是否可见。

网站的主题页面提供了一个您可以提供给 AI 助手的提示,其中包含格式、所有键和规则,以便根据描述为您编写主题。

分享

制作了其他人会喜欢的东西?打开一个拉取请求,将其添加到crates/app/assets/themes,并附带:

  • 该 .toml 文件,以及其图标文件夹(如果有);
  • 主窗口浅色和深色模式的截图;
  • 在任何图标旁添加一个 SOURCES.txt,说明图标的作者及其许可协议。图标必须是您自己创作的,或在允许 MDM 分发的许可协议(GPL-3.0)下发布,绝不能从其他程序复制。

不确定?请先在讨论区中展示。 CONTRIBUTING.md解释了拉取请求的工作方式。

下一步

免费、开源、无广告、无试用版。

下载 Mister Download Manager