Mister Download Manager
  1. Inicio
  2. Temas

La misma ventana, a tu manera

Ver → Tema cambia el aspecto de MDM al instante y mantiene todo en su sitio. Elige uno de los diseños integrados, cada uno con un lado claro y otro oscuro, o crea el tuyo propio en un archivo de texto.

9 temas integrados · claro y oscuro

Crear tu propio tema

Un tema es un pequeño archivo de texto, en TOML (o JSON). Solo nombra lo que cambia; todo lo demás proviene del tema en el que se basa. No necesitas compilar MDM ni saber programar.

  1. Crearlo

    Empieza con unos pocos colores y luego añade más a medida que avanzas:

    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"
    • inheritses el tema del que parte el tuyo: classic (el predeterminado), high-contrast, metro, adwaita, breeze, luna, aero, aqua, u otro archivo de tema en la misma carpeta.
    • [seeds]son un puñado de colores (background, surface, header, text, accent, selection, error, warning, success) que MDM extiende sobre cada control. [seeds.light] y [seeds.dark] dan a cada lado el suyo propio.
    • [colors]establece roles de un solo color en ambos lados, [light] y [dark] en un solo lado: #rrggbb, o #rrggbbaa con transparencia.
    • [sizes]son radios de esquina, anchos de borde, tamaños de fuente y alturas de fila, en píxeles. [controls] elige la forma de los cuadros de texto, casillas de verificación, botones, barras de progreso, barras de desplazamiento, la marca de enfoque y la barra de título.
    • iconses color, mono o accent. Un tema en su propia carpeta (my-theme/theme.toml) puede traer sus iconos en icons/16 y icons/24, cada uno nombrado por lo que muestra (tb-add-url.svg, cat-music.png); los -symbolic toman el color de texto del tema.
    • contrast = "high"refuerza cada borde y el color del texto superior.

    Una clave que MDM no conoce, o un valor que no puede leer, se omite y se escribe en el registro de MDM (la carpeta logs junto a la carpeta de temas), de modo que un archivo hecho para un MDM más reciente aún se carga. Los temas integrados se escriben de la misma manera: léelos en GitHub.

    Cada función de color (156)
    ClaveQué colorea
    windowFondo de Windows y de los diálogos
    textTexto y glifos
    text.disabledTexto deshabilitado, el único gris de cada control y etiqueta atenuados
    text.mutedTexto secundario: notas, tamaños, versiones
    linkTexto que abre algo
    errorTexto de error
    error.strongMensaje de un error de comprobación en Opciones (pruebas de conexión, navegador y ayudante)
    warningTexto de advertencia
    successTexto de éxito (una suma de comprobación coincidente)
    reach.nearServidor de una descarga cercano por su tiempo de ida y vuelta (menos de 60 ms), en Propiedades
    reach.mediumUn servidor con un tiempo de ida y vuelta medio (de 60 a 150 ms)
    reach.farUn servidor lejano por su tiempo de ida y vuelta (más de 150 ms)
    flag.edgeEl borde fino alrededor de la bandera de un país
    accentEl acento: líneas de enfoque, controles abiertos y predeterminados, filtros, enfoque de enlaces
    focus.ringEl rectángulo de enfoque de teclado punteado
    selectionRelleno de una selección: filas, un día elegido, texto seleccionado
    selection.textTexto sobre la selección
    selection.mutedTexto secundario sobre la selección
    selection.inactiveUna fila seleccionada en una lista sin el enfoque
    selection.focusEl contorno punteado de la fila enfocada en una fila seleccionada
    group.lineMarco de un cuadro de grupo
    etch.shadowLínea de sombra de un separador grabado
    etch.lightLínea de resaltado de un separador grabado
    tab.pageCuerpo de una página de pestañas
    tabUna pestaña sin seleccionar y la sombra de la página
    tab.hotUna pestaña bajo el puntero
    chevronUna flecha de lista desplegable o de cuadro de número
    chevron.disabledUna flecha atenuada
    subtle.hotUna parte sin cara propia (una flecha, un encabezado de columna) bajo el puntero
    subtle.pressedUna parte así pulsada o abierta
    highlight.hotUn día o una flecha de calendario bajo el puntero, un destino de arrastre
    highlight.pressedUn día o una flecha de calendario pulsada
    fieldEl interior de un cuadro de texto o de una lista
    field.borderEl borde de un cuadro de texto
    field.bottomLa línea inferior de un cuadro de texto mientras se puede escribir en él
    field.disabledEl interior de un cuadro de texto atenuado
    field.disabled.borderEl borde de un cuadro de texto atenuado
    field.readonlyEl interior de un cuadro de texto de solo lectura
    field.readonly.borderEl borde de un cuadro de texto de solo lectura
    combo.chevronEl icono de lista desplegable
    combo.arrow.hotLa zona de la flecha de una lista desplegable editable bajo el puntero
    combo.arrow.pressedLa zona de la flecha de una lista desplegable editable pulsada o abierta
    buttonLa cara de un botón
    button.hotLa cara de un botón bajo el puntero
    button.pressedLa cara de un botón pulsada
    button.borderEl borde de un botón
    button.bottomEl borde inferior de un botón
    button.textEl texto de un botón
    button.text.pressedEl texto de un botón pulsado
    button.default.borderEl borde del botón predeterminado
    button.default.bottomEl borde inferior del botón predeterminado
    button.disabledLa cara de un botón atenuado
    button.disabled.borderEl borde de un botón atenuado
    button.accentLa cara de un botón de énfasis
    button.accent.hotLa cara de un botón de acento bajo el puntero
    button.accent.pressedLa cara de un botón de acento pulsado
    button.accent.bottomEl borde inferior de un botón de acento
    button.accent.textEl texto de un botón de acento
    button.accent.text.pressedEl texto de un botón de acento pulsado
    button.glowEl brillo interior de un botón bajo el puntero, si el estilo lo dibuja (Luna; transparente: ninguno)
    glossEl brillo al que se difuminan las partes brillantes en su parte superior: botones, cuadros, barras y barras de título (Luna, Aero, Aqua)
    checkEl interior de una casilla o botón de radio sin marcar
    check.hotSu interior bajo el puntero
    check.pressedSu interior pulsado
    check.borderEl borde de una casilla o botón de radio sin marcar
    check.border.hotSu borde bajo el puntero
    check.border.pressedSu borde pulsado
    check.border.disabledEl borde de una casilla sin marcar atenuada
    check.onEl acento de una casilla o botón de radio marcado
    check.on.hotEl acento marcado bajo el puntero
    check.on.pressedEl acento marcado pulsado
    check.on.disabledEl relleno de una casilla marcada atenuada
    check.markLa marca o punto en el acento marcado
    progress.trackLa pista de una barra de progreso
    progress.barEl relleno de una barra de progreso
    meter.trackLa pista de un medidor (parte completada de una descarga)
    meter.edgeEl borde de un medidor
    meter.fillEl relleno de un medidor
    listEl fondo de la lista de descargas
    list.frameEl contorno de una lista, una tabla o un cuadro
    gridLas líneas de cuadrícula entre las filas de una lista en los diálogos
    list.gridLas líneas de cuadrícula de la lista de descargas
    headerLos encabezados de columna de todas las listas y tablas
    header.lineLa línea inferior de un encabezado en las listas de los diálogos
    header.sepLos divisores entre los encabezados de columna
    table.lineLos divisores en las tablas del capturador de enlaces y de Añadir torrent
    header.sortedEl encabezado de la columna ordenada
    header.sort-arrowEl icono de ordenación
    row.pressedUna fila de la lista pulsada
    chip.webEl chip de Web de la lista de descargas
    chip.torrentEl chip de Torrent de la lista de descargas
    chip.textTexto en un chip
    list.drag-ghostUn encabezado de columna arrastrado
    list.marqueeLa banda elástica que selecciona filas
    list.marquee.borderEl borde de la banda elástica
    scroll.trackLa pista de una barra de desplazamiento
    scroll.cornerDonde se unen dos barras de desplazamiento
    scroll.thumbEl control deslizante y las flechas de una barra de desplazamiento
    scroll.thumb.hotEl control deslizante o una flecha bajo el puntero
    scroll.thumb.pressedEl control deslizante o una flecha pulsada o arrastrada
    menubarLa barra de menú
    menubar.bottomLa última fila de la barra de menú
    menubar.lineLa línea debajo de la barra de menú
    menubar.hotUn título de menú bajo el puntero
    menubar.openEl título del menú abierto
    menuEl fondo de un menú
    menu.itemUn elemento de menú
    menu.hotUn elemento de menú bajo el puntero
    menu.borderEl marco de un menú y de un elemento emergente
    menu.sepLos separadores de un menú
    menu.textEl texto de un menú
    menu.glyphViñetas, marcas y flechas de submenú
    menu.text.disabledUn elemento de menú atenuado
    toolbar.lineLa línea superior de la barra de herramientas
    toolbar.line.lightEl resaltado debajo
    toolbar.hotUn botón de la barra de herramientas bajo el puntero
    toolbar.hot.faintLa otra parte de un botón dividido mientras una está bajo el puntero
    toolbar.pressedUn botón de la barra de herramientas pulsado
    toolbar.hot.edgeEl borde de un botón activo de la barra de herramientas
    toolbar.hot.borderEl borde de un botón activo de la barra de herramientas (transparente: ninguno)
    toolbar.split.shadowLa sombra del divisor de un botón dividido en reposo
    toolbar.split.lightEl resaltado del divisor
    toolbar.text.disabledUna etiqueta atenuada de la barra de herramientas
    toolbar.arrowLa flecha de un botón desplegable
    icon.disabledLa tinta de un icono atenuado (su inicio)
    icon.disabled.endLa tinta de un icono atenuado (su final)
    treeEl fondo del árbol de categorías
    tree.linesLos conectores punteados del árbol
    tree.expanderLos corchetes angulares del árbol, donde la variante los dibuja
    tree.frameEl marco del panel de categorías
    progress.statusEl valor de Estado de la ventana de progreso
    progress.label.disabledUna etiqueta atenuada en la ventana de progreso
    segments.borderEl marco de la barra de segmentos
    segments.cornerLos píxeles de las esquinas de la barra de segmentos
    pieces.haveUna parte de torrent que está aquí
    pieces.partialUn cuadrado que representa partes parcialmente aquí
    pieces.missingUna parte que aún no está aquí
    captionUna barra de título que MDM dibuja
    caption.textSu título y glifos
    caption.text.inactiveSu título y glifos cuando la ventana no está activa, y los de un botón atenuado
    caption.hotUn botón de título bajo el puntero (un tinte sobre la barra)
    caption.pressedUn botón de título pulsado (un tinte sobre la barra)
    caption.buttonUn botón de título en reposo, donde el estilo muestra uno (un tinte sobre la barra; transparente: ninguno)
    caption.closeCerrar bajo el puntero
    caption.close.textGlifo de Cerrar bajo el puntero
    caption.inactiveBarra de título dibujada por MDM, cuando su ventana no está activa (transparente: como cuando está activa)
    drop-target.edgeBorde del destino de arrastre en reposo
    egui.panelFondo del panel de egui
    egui.windowFondo de las descripciones emergentes
    egui.window.borderBorde de las descripciones emergentes
    egui.textTexto de las descripciones emergentes
    egui.selection.textColor del texto seleccionado en los cuadros de egui
    egui.extremeFondo más oscuro (o más claro) de egui
    egui.faintFondo tenue de egui
    egui.widgetWidgets de egui en reposo
    egui.widget.borderSu borde (transparente: ninguno)
    Todos los tamaños (26)
    ClaveLo que establece
    radiusRadio de las esquinas de botones, cuadros de texto y desplegables
    radius.buttonRadio de las esquinas de un botón pulsador brillante (Luna, Aero; los de Aqua son redondos en los extremos)
    radius.partRadio de las esquinas de una parte tintada (una zona de flecha, un botón de incremento)
    radius.checkRadio de las esquinas de una casilla de verificación
    radius.flyoutRadio de las esquinas de una ventana emergente (un calendario, un cuadro de filtro)
    radius.menu-itemRadio de las esquinas de un elemento de menú bajo el puntero
    radius.eguiRadio de las esquinas de los propios widgets de egui
    radius.popupRadio de las esquinas de las descripciones emergentes
    borderAncho del borde de un control
    focus-lineAltura de la línea de acento de un cuadro de texto enfocado
    chevron.widthAncho del trazo del chevron de un desplegable
    font.dialogTexto de diálogo (Tahoma en los diálogos de IDM)
    font.dialog.boldTítulos de las páginas de Opciones
    font.titleTítulo de una ventana (Tahoma Negrita): el de la extensión del navegador, el de los ayudantes
    font.codeUn código de inicio de sesión para escribir en la página de un servicio
    font.uiMenús y texto de la ventana principal (Segoe UI)
    font.ui.boldEncabezados en negrita en la ventana principal
    font.smallTexto pequeño de egui
    font.bodyTexto principal de egui: información sobre herramientas, cuadros de varias líneas
    font.headingEncabezados de egui
    list.rowAltura de una fila en la lista de descargas
    list.headerAltura de los encabezados de columna de la lista de descargas
    tooltip.widthDónde se ajusta el texto de una información sobre herramientas
    tooltip.margin-xRelleno izquierdo y derecho de una información sobre herramientas
    tooltip.margin-topRelleno superior de una información sobre herramientas
    tooltip.margin-bottomRelleno inferior de una información sobre herramientas
    Estilo de cada control (7)
    ClaveSus estilos
    field-focuslínea, borde, anillo
    checkFluent, Square, Adwaita, Breeze, Luna, Aero, Aqua
    buttonFluent, Breeze, Luna, Aero, Aqua
    progresslínea, barra, bloques, brillo
    scrollsuperposición, clásico
    captionsistema, metro, adwaita, breeze, luna, aero, aqua
    focuspunteado, anillo, marco

    O deja que un asistente de IA lo escriba

    Copia este mensaje en tu asistente de IA y describe el aspecto que quieres al final. Le da al asistente el formato, las claves y las reglas: texto legible y un enfoque visible en ambos lados, y nada copiado de obras de arte de otros. Mira ambos lados tú mismo antes de compartir el resultado.

    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. Pruébalo, sin compilar MDM

    Pon el archivo en la carpeta de temas de MDM. Ver → Tema → Abrir carpeta de temas la abre y la crea la primera vez. Está en la carpeta de datos de MDM:

    Windows
    %APPDATA%\misterdownloadmanager\themes
    Linux
    ~/.local/share/misterdownloadmanager/themes
    macOS
    ~/Library/Application Support/misterdownloadmanager/themes
    Copia portable
    data\themesjunto al programa

    En dos segundos aparece en Ver → Tema, debajo de los temas integrados, con el name que se da a sí mismo. Elígelo y toda la ventana cambia al instante. Después de editar el archivo, vuelve a elegirlo en Ver → Tema para ver el cambio. Ver → Compatibilidad con el modo oscuro y Siempre oscuro cambian entre su lado claro y oscuro.

    Ver → Tema → Añadir un archivo de tema… lo hace por ti: selecciona el archivo en cualquier lugar y MDM lo copia en la carpeta de temas y lo usa al instante.

    ¿Ya tienes un esquema Base16 o pywal?

    Ya es un tema. Un esquema Base16 o Base24 (.yaml) o colors.json de pywal, añadido de la misma manera, cambia los colores de MDM y nada más: los fondos del esquema detrás de la lista y las ventanas, su texto se mantiene legible (4,5:1 o más), su azul en el foco, la selección y la barra de progreso. Una vez que wal se ha ejecutado, Ver → Tema lista pywal, leído de ~/.cache/wal/colors.json (%USERPROFILE%\.cache\wal\colors.jsonen Windows), y MDM sigue los colores de cada nuevo fondo de pantalla en dos segundos. La guía muestra qué color va en cada sitio.

  3. Compártelo

    ¿Has creado algo que les gustaría a otros? Abre una solicitud de extracción en GitHub que lo añada a crates/app/assets/themes, con:

    • el archivo .toml y su carpeta de iconos si tiene una;
    • capturas de pantalla de la ventana principal en su lado claro y oscuro;
    • un SOURCES.txt junto a los iconos, indicando quién los dibujó y bajo qué licencia. Los iconos deben ser propios o tener una licencia que permita a MDM compartirlos (GPL-3.0); nunca copiados de otro programa.

    ¿Aún no lo tienes claro? Muéstralo primero en los debates. La guía de contribución explica cómo funcionan las solicitudes de extracción aquí.

Gratis, código abierto, sin anuncios, sin prueba.

Descargar Mister Download Manager