Mister Download Manager
  1. Trang chủ
  2. Chủ đề

Cùng một cửa sổ, theo cách của bạn

Mục Xem → Chủ đề thay đổi giao diện của MDM ngay lập tức và giữ nguyên mọi thứ ở vị trí cũ. Chọn một trong các giao diện có sẵn, mỗi giao diện có chế độ sáng và tối, hoặc tự tạo giao diện của riêng bạn trong một tệp văn bản.

9 chủ đề tích hợp · sáng và tối

Tự tạo chủ đề của riêng bạn

Một chủ đề là một tệp văn bản nhỏ, ở định dạng TOML (hoặc JSON). Nó chỉ đặt tên cho những gì nó thay đổi; mọi thứ khác đến từ chủ đề mà nó dựa vào. Bạn không cần phải xây dựng MDM hoặc biết cách lập trình.

  1. Tạo chủ đề

    Bắt đầu với một vài màu, sau đó thêm nhiều hơn khi bạn thực hiện:

    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"
    • inheritslà chủ đề mà chủ đề của bạn bắt đầu từ: classic (mặc định), high-contrast, metro, adwaita, breeze, luna, aero, aqua, hoặc một tệp chủ đề khác trong cùng thư mục.
    • [seeds]là một vài màu (background, surface, header, text, accent, selection, error, warning, success) mà MDM trải rộng trên mọi điều khiển. [seeds.light] và [seeds.dark] cung cấp cho mỗi bên một màu riêng.
    • [colors]đặt các vai trò màu đơn ở cả hai bên, [light] và [dark] chỉ ở một bên: #rrggbb, hoặc #rrggbbaa với độ trong suốt.
    • [sizes]là bán kính góc, độ rộng đường viền, kích thước phông chữ và chiều cao hàng, tính bằng pixel. [controls] chọn hình dạng của hộp văn bản, hộp kiểm, nút, thanh tiến trình, thanh cuộn, dấu lấy nét và thanh tiêu đề.
    • iconslà color, mono hoặc accent. Một giao diện trong thư mục riêng (my-theme/theme.toml) có thể có các biểu tượng trong icons/16 và icons/24, mỗi biểu tượng được đặt tên theo nội dung hiển thị (tb-add-url.svg, cat-music.png); các biểu tượng -symbolic sẽ lấy màu chữ của giao diện.
    • contrast = "high"làm nổi bật mọi đường viền và màu chữ phía trên.

    Một khóa mà MDM không biết, hoặc một giá trị không thể đọc được, sẽ bị bỏ qua và ghi vào nhật ký của MDM (thư mục logs bên cạnh thư mục giao diện), để một tệp được tạo cho MDM mới hơn vẫn có thể tải. Các giao diện tích hợp sẵn cũng được viết theo cách tương tự: đọc chúng trên GitHub.

    Mọi vai trò màu sắc (156)
    KhóaMàu sắc cho
    windowNền của Windows và hộp thoại
    textChữ và biểu tượng
    text.disabledChữ bị vô hiệu hóa, màu xám duy nhất của mọi điều khiển và nhãn bị làm mờ
    text.mutedChữ phụ: ghi chú, kích thước, phiên bản
    linkChữ mở một cái gì đó
    errorChữ báo lỗi
    error.strongThông báo kiểm tra không thành công trong Tùy chọn (kiểm tra kết nối, trình duyệt và trình hỗ trợ)
    warningChữ cảnh báo
    successChữ thành công (tổng kiểm tra khớp)
    reach.nearMáy chủ tải xuống gần theo thời gian khứ hồi (dưới 60 ms), trong Thuộc tính
    reach.mediumMáy chủ có thời gian khứ hồi trung bình (60 đến 150 ms)
    reach.farMáy chủ xa theo thời gian khứ hồi (trên 150 ms)
    flag.edgeĐường viền mỏng quanh lá cờ quốc gia
    accentĐiểm nhấn: đường lấy nét, điều khiển mở và mặc định, bộ lọc, lấy nét liên kết
    focus.ringHình chữ nhật lấy nét bàn phím chấm chấm
    selectionMàu nền của lựa chọn: hàng, ngày đã chọn, văn bản đã chọn
    selection.textChữ trên vùng chọn
    selection.mutedChữ phụ trên vùng chọn
    selection.inactiveMột hàng đã chọn trong danh sách không có tiêu điểm
    selection.focusĐường viền chấm chấm của hàng được lấy nét trên một hàng đã chọn
    group.lineKhung của hộp nhóm
    etch.shadowĐường bóng của bộ phân tách khắc
    etch.lightĐường nổi bật của bộ phân tách khắc
    tab.pageNội dung của trang tab
    tabMột thẻ chưa chọn và bóng của trang
    tab.hotMột thẻ dưới con trỏ
    chevronMũi tên của hộp thả xuống hoặc hộp xoay
    chevron.disabledMột mũi tên bị làm mờ
    subtle.hotMột phần không có mặt riêng (mũi tên, tiêu đề cột) dưới con trỏ
    subtle.pressedMột phần như vậy được nhấn hoặc mở
    highlight.hotMột ngày hoặc mũi tên của lịch dưới con trỏ, một vùng thả
    highlight.pressedMột ngày hoặc mũi tên của lịch được nhấn
    fieldBên trong hộp văn bản hoặc danh sách
    field.borderViền của hộp văn bản
    field.bottomDòng dưới cùng của hộp văn bản khi có thể nhập liệu
    field.disabledBên trong hộp văn bản bị làm mờ
    field.disabled.borderViền của hộp văn bản bị làm mờ
    field.readonlyBên trong hộp văn bản chỉ đọc
    field.readonly.borderViền của hộp văn bản chỉ đọc
    combo.chevronDấu mũi tên của hộp thả xuống
    combo.arrow.hotVùng mũi tên của hộp thả xuống có thể chỉnh sửa dưới con trỏ
    combo.arrow.pressedVùng mũi tên của hộp thả xuống có thể chỉnh sửa được nhấn hoặc mở
    buttonMặt của nút
    button.hotMặt của nút dưới con trỏ
    button.pressedMặt của nút được nhấn
    button.borderViền của nút
    button.bottomCạnh dưới của nút
    button.textVăn bản của nút
    button.text.pressedVăn bản của nút được nhấn
    button.default.borderViền của nút mặc định
    button.default.bottomCạnh dưới của nút mặc định
    button.disabledMặt của nút bị làm mờ
    button.disabled.borderViền của nút bị làm mờ
    button.accentMặt của nút nhấn mạnh
    button.accent.hotMặt nút nhấn nổi bật khi con trỏ ở trên
    button.accent.pressedMặt nút nhấn nổi bật khi được nhấn
    button.accent.bottomCạnh dưới của nút nhấn nổi bật
    button.accent.textChữ trên nút nhấn nổi bật
    button.accent.text.pressedChữ trên nút nhấn nổi bật khi được nhấn
    button.glowÁnh sáng bên trong nút khi con trỏ ở trên, nơi kiểu vẽ (Luna; trong suốt: không có)
    glossĐộ bóng mà các phần bóng bẩy hòa vào ở phía trên: nút, hộp, thanh và thanh tiêu đề (Luna, Aero, Aqua)
    checkBên trong hộp kiểm hoặc nút radio chưa chọn
    check.hotBên trong khi con trỏ ở trên
    check.pressedBên trong khi được nhấn
    check.borderViền của hộp kiểm hoặc nút radio chưa chọn
    check.border.hotViền khi con trỏ ở trên
    check.border.pressedViền khi được nhấn
    check.border.disabledViền của hộp kiểm chưa chọn bị làm mờ
    check.onĐiểm nhấn của hộp kiểm hoặc nút radio đã chọn
    check.on.hotĐiểm nhấn đã chọn khi con trỏ ở trên
    check.on.pressedĐiểm nhấn đã chọn khi được nhấn
    check.on.disabledMàu nền của hộp kiểm đã chọn bị làm mờ
    check.markDấu tích hoặc chấm trên điểm nhấn đã chọn
    progress.trackĐường ray của thanh tiến trình
    progress.barMàu nền của thanh tiến trình
    meter.trackĐường ray của đồng hồ đo (phần đã hoàn thành của một lượt tải xuống)
    meter.edgeCạnh của đồng hồ đo
    meter.fillMàu nền của đồng hồ đo
    listNền của danh sách tải xuống
    list.frameĐường viền của danh sách, bảng hoặc hộp
    gridĐường lưới giữa các hàng của danh sách trong hộp thoại
    list.gridĐường lưới của danh sách tải xuống
    headerTiêu đề cột của mọi danh sách và bảng
    header.lineĐường dưới cùng của tiêu đề trong danh sách hộp thoại
    header.sepĐường phân cách giữa các tiêu đề cột
    table.lineĐường phân cách trong bảng của trình lấy liên kết và Thêm torrent
    header.sortedTiêu đề cột đã sắp xếp
    header.sort-arrowMũi tên sắp xếp
    row.pressedMột hàng danh sách được nhấn
    chip.webChip Web của danh sách tải xuống
    chip.torrentChip Torrent của danh sách tải xuống
    chip.textVăn bản trên chip
    list.drag-ghostMột tiêu đề cột đang được kéo
    list.marqueeDải cao su chọn hàng
    list.marquee.borderCạnh của dải cao su
    scroll.trackRãnh của thanh cuộn
    scroll.cornerNơi hai thanh cuộn gặp nhau
    scroll.thumbNút kéo và mũi tên của thanh cuộn
    scroll.thumb.hotNút kéo hoặc mũi tên dưới con trỏ
    scroll.thumb.pressedNút kéo hoặc mũi tên được nhấn hoặc kéo
    menubarThanh menu
    menubar.bottomHàng cuối cùng của thanh menu
    menubar.lineĐường kẻ dưới thanh menu
    menubar.hotTiêu đề menu dưới con trỏ
    menubar.openTiêu đề của menu đang mở
    menuNền của menu
    menu.itemMục menu
    menu.hotMục menu dưới con trỏ
    menu.borderKhung của menu và cửa sổ bật lên
    menu.sepĐường phân cách của menu
    menu.textVăn bản của menu
    menu.glyphDấu đầu dòng, dấu tích và mũi tên menu con
    menu.text.disabledMục menu bị làm mờ
    toolbar.lineĐường trên cùng của thanh công cụ
    toolbar.line.lightĐiểm nổi bật bên dưới
    toolbar.hotNút thanh công cụ dưới con trỏ
    toolbar.hot.faintPhần khác của nút tách khi một phần đang dưới con trỏ
    toolbar.pressedNút thanh công cụ đã nhấn
    toolbar.hot.edgeCạnh của nút thanh công cụ đang hoạt động
    toolbar.hot.borderViền của nút thanh công cụ đang hoạt động (trong suốt: không có)
    toolbar.split.shadowBóng của vạch chia nút tách khi không hoạt động
    toolbar.split.lightĐiểm nổi bật của vạch chia
    toolbar.text.disabledNhãn thanh công cụ bị làm mờ
    toolbar.arrowMũi tên của nút thả xuống
    icon.disabledMàu mực của biểu tượng bị làm mờ (điểm bắt đầu)
    icon.disabled.endMàu mực của biểu tượng bị làm mờ (điểm kết thúc)
    treeNền của cây danh mục
    tree.linesCác đường nối chấm của cây
    tree.expanderDấu ngoặc nhọn của cây, nơi biến thể vẽ chúng
    tree.frameKhung của ngăn danh mục
    progress.statusGiá trị Trạng thái của cửa sổ tiến trình
    progress.label.disabledNhãn bị làm mờ trong cửa sổ tiến trình
    segments.borderKhung của thanh phân đoạn
    segments.cornerCác pixel góc của thanh phân đoạn
    pieces.haveMột phần torrent có ở đây
    pieces.partialMột ô vuông đại diện cho các phần có một phần ở đây
    pieces.missingMột phần chưa có ở đây
    captionThanh tiêu đề do MDM tự vẽ
    caption.textTiêu đề và biểu tượng của nó
    caption.text.inactiveTiêu đề và biểu tượng của nó khi cửa sổ không phải là cửa sổ đang hoạt động, và của một nút bị làm mờ
    caption.hotNút chú thích dưới con trỏ (một màu phủ lên thanh)
    caption.pressedNút chú thích đã nhấn (một màu phủ lên thanh)
    caption.buttonNút chú thích khi không hoạt động, nơi kiểu hiển thị một nút (một màu phủ lên thanh; trong suốt: không có)
    caption.closeĐóng dưới con trỏ
    caption.close.textBiểu tượng của nút Đóng khi con trỏ ở trên
    caption.inactiveThanh tiêu đề do MDM vẽ, khi cửa sổ không hoạt động (trong suốt: như khi hoạt động)
    drop-target.edgeCạnh vùng thả khi không hoạt động
    egui.panelNền bảng điều khiển của egui
    egui.windowNền của chú giải công cụ
    egui.window.borderViền của chú giải công cụ
    egui.textVăn bản của chú giải công cụ
    egui.selection.textMàu chữ của văn bản được chọn trong hộp của egui
    egui.extremeNền tối nhất (hoặc sáng nhất) của egui
    egui.faintNền mờ của egui
    egui.widgetCác tiện ích của egui khi không hoạt động
    egui.widget.borderViền của chúng (trong suốt: không có)
    Mọi kích thước (26)
    KhóaNó thiết lập gì
    radiusBán kính góc của nút, hộp văn bản và danh sách thả xuống
    radius.buttonBán kính góc của nút nhấn bóng (Luna, Aero; Aqua có góc tròn ở các đầu)
    radius.partBán kính góc của phần được tô màu (vùng mũi tên, nút xoay)
    radius.checkBán kính góc của hộp kiểm
    radius.flyoutBán kính góc của cửa sổ bật lên trong một cửa sổ (lịch, hộp lọc)
    radius.menu-itemBán kính góc của mục menu khi con trỏ ở trên
    radius.eguiBán kính góc của các tiện ích riêng của egui
    radius.popupBán kính góc của chú giải công cụ
    borderĐộ rộng viền của một điều khiển
    focus-lineChiều cao của đường nhấn của hộp văn bản được lấy nét
    chevron.widthĐộ dày nét của dấu chevron của danh sách thả xuống
    font.dialogVăn bản hộp thoại (Tahoma trong hộp thoại của IDM)
    font.dialog.boldTiêu đề trang Tùy chọn
    font.titleTiêu đề cửa sổ (Tahoma Bold): của tiện ích mở rộng trình duyệt, của các công cụ hỗ trợ
    font.codeMã đăng nhập để nhập vào trang của dịch vụ
    font.uiVăn bản menu và cửa sổ chính (Segoe UI)
    font.ui.boldCác tiêu đề in đậm trong cửa sổ chính
    font.smallVăn bản nhỏ của egui
    font.bodyVăn bản chính của egui: chú giải công cụ, hộp nhiều dòng
    font.headingTiêu đề của egui
    list.rowChiều cao của một hàng trong danh sách tải xuống
    list.headerChiều cao của tiêu đề cột trong danh sách tải xuống
    tooltip.widthVị trí ngắt dòng của văn bản chú giải công cụ
    tooltip.margin-xKhoảng đệm trái và phải của chú giải công cụ
    tooltip.margin-topKhoảng đệm trên của chú giải công cụ
    tooltip.margin-bottomKhoảng đệm dưới của chú giải công cụ
    Mọi kiểu điều khiển (7)
    KhóaCác kiểu của nó
    field-focusđường, viền, vòng
    checkfluent, square, adwaita, breeze, luna, aero, aqua
    buttonfluent, breeze, luna, aero, aqua
    progressđường, thanh, khối, bóng
    scrolllớp phủ, cổ điển
    captionsystem, metro, adwaita, breeze, luna, aero, aqua
    focuschấm, vòng, khung

    Hoặc để trợ lý AI viết

    Sao chép lời nhắc này vào trợ lý AI của bạn và mô tả giao diện bạn muốn ở cuối. Nó cung cấp cho trợ lý định dạng, các khóa và quy tắc: văn bản dễ đọc và tiêu điểm rõ ràng ở cả hai mặt, và không sao chép từ tác phẩm nghệ thuật của bất kỳ ai khác. Tự mình xem xét cả hai mặt trước khi bạn chia sẻ kết quả.

    You are making a theme file for Mister Download Manager (MDM), a free, open-source download manager. Write one TOML file, named after the theme in lower case with dashes (for example harbour.toml). Reply with the file only, in one code block, then one line on how to install it.
    
    THE FORMAT
    A theme names only what it changes; everything else comes from the theme it inherits.
    - name = "Display name"
    - inherits = "classic" (the default), "high-contrast", "metro", "adwaita", "breeze", "luna", "aero" or "aqua"
    - icons = "color" | "mono" | "accent"
    - contrast = "high" (optional: strengthens every edge and text colour)
    - [seeds] a few colours MDM spreads over every control: background, surface, header, text, accent, selection, error, warning, success. Use [seeds.light] and [seeds.dark] to give each side its own.
    - [colors] single colour roles for both sides; [light] and [dark] for one side only. Role names are dotted and must be quoted when they contain a dot, e.g. "button.hot" = "#e5f1fb". Useful roles: window, text, text.muted, link, accent, focus.ring, selection, selection.text, field, field.border, button, button.hot, button.pressed, button.border, button.text, check.on, check.mark, progress.bar, list, header, menubar, menu, menu.hot, menu.text, toolbar.hot, tree, caption, caption.text, scroll.thumb, gloss (the shine glossy parts blend toward), button.glow. "segments.done" takes one colour or a list of 13 (top to bottom).
    - [sizes] in pixels, 0 to 400: radius, radius.button, radius.check, radius.menu-item, radius.popup, border, focus-line, list.row, list.header, font.ui, font.dialog.
    - [controls] shapes: field-focus = line | border | ring; check = fluent | square | adwaita | breeze | luna | aero | aqua; button = fluent | breeze | luna | aero | aqua; progress = line | bar | blocks | gloss; scroll = overlay | classic; focus = dotted | ring | frame; caption = system | metro | adwaita | breeze | luna | aero | aqua.
    - Colours are "#rrggbb" or "#rrggbbaa". Unknown keys are skipped, so only use the names above.
    
    THE RULES
    1. Make both a light and a dark side: give [seeds.light] and [seeds.dark] (or [light] and [dark]) their own colours, and check each side on its own.
    2. Text must be easy to read: at least 4.5:1 contrast for text against its background (text on window and field, button.text on button, menu.text on menu, selection.text on selection, caption.text on caption), in both sides.
    3. The keyboard focus must be easy to see: accent and focus.ring at least 3:1 against what they sit on.
    4. Disabled text stays readable but clearly dimmer than normal text.
    5. Clean room: no artwork, icons, logos, fonts or text copied from any other program or company. If the theme needs icons, describe original ones to draw, never copy existing ones, and note their source and licence in a SOURCES.txt.
    6. Keep the layout: a theme changes colours, sizes and control shapes only.
    
    After the file, list each text and background pair you checked with its contrast ratio, for both sides.
    
    THE LOOK I WANT:
  2. Thử nghiệm, không cần xây dựng MDM

    Đặt tệp vào thư mục chủ đề của MDM. Xem → Chủ đề → Mở thư mục chủ đề sẽ mở nó, và làm cho nó lần đầu tiên. Nó nằm trong thư mục dữ liệu của MDM:

    Windows
    %APPDATA%\misterdownloadmanager\themes
    Linux
    ~/.local/share/misterdownloadmanager/themes
    macOS
    ~/Library/Application Support/misterdownloadmanager/themes
    Bản sao di động
    data\themesbên cạnh chương trình

    Trong vòng hai giây, nó sẽ hiển thị trong Xem → Chủ đề, bên dưới các chủ đề tích hợp, bằng name mà nó tự đặt. Chọn nó và toàn bộ cửa sổ sẽ thay đổi ngay lập tức. Sau khi bạn chỉnh sửa tệp, hãy chọn lại nó trong Xem → Chủ đề để xem thay đổi. Xem → Hỗ trợ Chế độ tối và Luôn tối chuyển đổi giữa mặt sáng và mặt tối của nó.

    Xem → Chủ đề → Thêm tệp chủ đề… sẽ làm điều đó cho bạn: chọn tệp ở bất cứ đâu, và MDM sẽ sao chép nó vào thư mục chủ đề và áp dụng ngay lập tức.

    Bạn đã có bảng màu Base16 hoặc pywal?

    Đó đã là một chủ đề. Một bảng màu Base16 hoặc Base24 (.yaml) hoặc colors.json của pywal, được thêm vào cùng một cách, sẽ thay đổi màu sắc của MDM mà không thay đổi gì khác: nền của bảng màu phía sau danh sách và các cửa sổ, văn bản vẫn dễ đọc (tỷ lệ tương phản 4.5:1 trở lên), màu xanh lam trên vùng tiêu điểm, vùng chọn và thanh tiến trình. Sau khi wal đã chạy, Xem → Chủ đề sẽ liệt kê pywal, được đọc từ ~/.cache/wal/colors.json (%USERPROFILE%\.cache\wal\colors.jsontrên Windows), và MDM sẽ theo màu của mỗi hình nền mới trong vòng hai giây. Hướng dẫn cho biết màu nào sẽ ở đâu.

  3. Chia sẻ

    Đã tạo thứ gì đó mà người khác sẽ thích? Mở một yêu cầu kéo trên GitHub để thêm nó vào crates/app/assets/themes, với:

    • tệp .toml, và thư mục biểu tượng của nó nếu có;
    • ảnh chụp màn hình cửa sổ chính ở mặt sáng và mặt tối của nó;
    • một SOURCES.txt bên cạnh bất kỳ biểu tượng nào, ghi rõ ai đã vẽ chúng và theo giấy phép nào. Các biểu tượng phải là của riêng bạn hoặc theo giấy phép cho phép MDM chia sẻ chúng (GPL-3.0), không bao giờ được sao chép từ chương trình khác.

    Chưa chắc chắn? Hãy trình bày trong phần thảo luận trước. Hướng dẫn đóng góp giải thích cách thức hoạt động của các yêu cầu kéo tại đây.

Miễn phí, mã nguồn mở, không quảng cáo, không dùng thử.

Tải xuống Mister Download Manager