Mister Download Manager
  1. Startseite
  2. Designs

Dasselbe Fenster, Ihr Stil

Über Ansicht → Design ändern Sie das Aussehen von MDM sofort, wobei alles an seinem Platz bleibt. Wählen Sie eines der integrierten Designs mit jeweils einer hellen und einer dunklen Seite oder erstellen Sie Ihr eigenes in einer Textdatei.

9 integrierte Designs · hell und dunkel

Eigenes Design erstellen

Ein Design ist eine kleine Textdatei im TOML- (oder JSON-)Format. Sie benennt nur das, was sie ändert; alles andere stammt von dem Design, auf dem sie aufbaut. Sie müssen MDM nicht selbst kompilieren oder programmieren können.

  1. Erstellen

    Beginnen Sie mit einigen Farben und fügen Sie nach und nach weitere hinzu:

    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"
    • inheritsist das Design, von dem Ihres ausgeht: classic (die Standardeinstellung), high-contrast, metro, adwaita, breeze, luna, aero, aqua oder eine andere Designdatei im selben Ordner.
    • [seeds]sind eine Handvoll Farben (background, surface, header, text, accent, selection, error, warning, success), die MDM auf alle Bedienelemente verteilt. [seeds.light] und [seeds.dark] geben jeder Seite ihre eigene.
    • [colors]legt einzelne Farbfunktionen auf beiden Seiten fest, [light] und [dark] nur auf einer Seite: #rrggbb oder #rrggbbaa mit Transparenz.
    • [sizes]sind Eckenradien, Rahmenbreiten, Schriftgrößen und Zeilenhöhen in Pixeln. [controls] wählt die Form von Textfeldern, Kontrollkästchen, Schaltflächen, Fortschrittsbalken, Bildlaufleisten, der Fokusmarkierung und der Titelleiste.
    • iconsist color, mono oder accent. Ein Theme in einem eigenen Ordner (my-theme/theme.toml) kann seine Icons in icons/16 und icons/24 bereitstellen, jeweils benannt nach dem, was sie zeigen (tb-add-url.svg, cat-music.png); -symbolic übernehmen die Textfarbe des Themes.
    • contrast = "high"verstärkt jede Kante und Textfarbe darüber.

    Ein Schlüssel, den MDM nicht kennt, oder ein Wert, den es nicht lesen kann, wird übersprungen und in MDMs Log (logs-Ordner neben dem Themes-Ordner) geschrieben, sodass eine für ein neueres MDM erstellte Datei weiterhin geladen wird. Die integrierten Themes werden auf dieselbe Weise geschrieben: lesen Sie sie auf GitHub.

    Jede Farbrolle (156)
    SchlüsselWas es färbt
    windowHintergrund von Windows und Dialogen
    textText und Glyphen
    text.disabledDeaktivierter Text, das eine Grau jedes ausgegrauten Steuerelements und jeder Beschriftung
    text.mutedSekundärer Text: Notizen, Größen, Versionen
    linkText, der etwas öffnet
    errorFehlertext
    error.strongMeldung einer fehlgeschlagenen Prüfung in den Optionen (Verbindungs-, Browser- und Helfertests)
    warningWarntext
    successErfolgstext (eine übereinstimmende Prüfsumme)
    reach.nearDer Server eines Downloads in der Nähe seiner Roundtrip-Zeit (unter 60 ms), in den Eigenschaften
    reach.mediumEin Server mit einer mittleren Roundtrip-Zeit (60 bis 150 ms)
    reach.farEin Server mit einer weiten Roundtrip-Zeit (über 150 ms)
    flag.edgeDer dünne Rand um die Flagge eines Landes
    accentDer Akzent: Fokuslinien, offene und Standard-Steuerelemente, Filter, Fokus von Links
    focus.ringDas gepunktete Tastatur-Fokusrechteck
    selectionDie Füllung einer Auswahl: Zeilen, ein ausgewählter Tag, ausgewählter Text
    selection.textText auf der Auswahl
    selection.mutedSekundärer Text auf der Auswahl
    selection.inactiveEine ausgewählte Zeile in einer Liste ohne Fokus
    selection.focusDie gepunktete Umrandung der fokussierten Zeile auf einer ausgewählten Zeile
    group.lineDer Rahmen eines Gruppenfelds
    etch.shadowDie Schattenlinie eines geätzten Trennzeichens
    etch.lightDie Hervorhebungslinie eines geätzten Trennzeichens
    tab.pageDer Körper einer Registerkarte
    tabEin nicht ausgewählter Tab und der Schatten der Seite
    tab.hotEin Tab unter dem Mauszeiger
    chevronEin Pfeil einer Dropdown-Liste oder eines Drehfelds
    chevron.disabledEin ausgegrauter Pfeil
    subtle.hotEin Element ohne eigene Oberfläche (Pfeil, Spaltenüberschrift) unter dem Mauszeiger
    subtle.pressedEin solches Element gedrückt oder geöffnet
    highlight.hotEin Kalendertag oder Pfeil unter dem Mauszeiger, ein Ablageziel
    highlight.pressedEin Kalendertag oder Pfeil gedrückt
    fieldDas Innere eines Textfelds oder einer Liste
    field.borderDer Rahmen eines Textfelds
    field.bottomDie untere Linie eines Textfelds, während es bearbeitet werden kann
    field.disabledDas Innere eines ausgegrauten Textfelds
    field.disabled.borderDer Rahmen eines ausgegrauten Textfelds
    field.readonlyDas Innere eines schreibgeschützten Textfelds
    field.readonly.borderDer Rahmen eines schreibgeschützten Textfelds
    combo.chevronDer Chevron einer Dropdown-Liste
    combo.arrow.hotDer Pfeilbereich einer bearbeitbaren Dropdown-Liste unter dem Mauszeiger
    combo.arrow.pressedDer Pfeilbereich einer bearbeitbaren Dropdown-Liste gedrückt oder geöffnet
    buttonDie Oberfläche einer Schaltfläche
    button.hotDie Oberfläche einer Schaltfläche unter dem Mauszeiger
    button.pressedDie Oberfläche einer Schaltfläche gedrückt
    button.borderDer Rahmen einer Schaltfläche
    button.bottomDie untere Kante einer Schaltfläche
    button.textDer Text einer Schaltfläche
    button.text.pressedDer Text einer Schaltfläche gedrückt
    button.default.borderDer Rahmen der Standardschaltfläche
    button.default.bottomDie untere Kante der Standardschaltfläche
    button.disabledDie Oberfläche einer ausgegrauten Schaltfläche
    button.disabled.borderDer Rahmen einer ausgegrauten Schaltfläche
    button.accentDie Oberfläche einer Akzent-Schaltfläche
    button.accent.hotFläche einer Akzent-Schaltfläche unter dem Zeiger
    button.accent.pressedFläche einer Akzent-Schaltfläche im gedrückten Zustand
    button.accent.bottomUnterer Rand einer Akzent-Schaltfläche
    button.accent.textText einer Akzent-Schaltfläche
    button.accent.text.pressedText einer Akzent-Schaltfläche im gedrückten Zustand
    button.glowDas Leuchten im Inneren einer Schaltfläche unter dem Zeiger, wenn der Stil es zeichnet (Luna; transparent: keine)
    glossDer Glanz, in den glänzende Teile oben übergehen: Schaltflächen, Felder, Leisten und Titelleisten (Luna, Aero, Aqua)
    checkDas Innere eines nicht markierten Kontrollkästchens oder Optionsfelds
    check.hotDas Innere unter dem Zeiger
    check.pressedDas Innere im gedrückten Zustand
    check.borderDer Rahmen eines nicht markierten Kontrollkästchens oder Optionsfelds
    check.border.hotDer Rahmen unter dem Zeiger
    check.border.pressedDer Rahmen im gedrückten Zustand
    check.border.disabledDer Rahmen eines ausgegrauten, nicht markierten Kontrollkästchens
    check.onDie Akzentfarbe eines markierten Kontrollkästchens oder Optionsfelds
    check.on.hotDie markierte Akzentfarbe unter dem Zeiger
    check.on.pressedDie markierte Akzentfarbe im gedrückten Zustand
    check.on.disabledDie Füllung eines ausgegrauten, markierten Kontrollkästchens
    check.markDer Haken oder Punkt auf dem markierten Akzent
    progress.trackDie Spur einer Fortschrittsanzeige
    progress.barDie Füllung einer Fortschrittsanzeige
    meter.trackDie Spur eines Messbalkens (erledigter Teil eines Downloads)
    meter.edgeDer Rand eines Messbalkens
    meter.fillDie Füllung eines Messbalkens
    listDer Hintergrund der Download-Liste
    list.frameDer Umriss einer Liste, Tabelle oder eines Feldes
    gridGitternetzlinien zwischen den Zeilen einer Liste in Dialogfeldern
    list.gridDie Gitternetzlinien der Download-Liste
    headerSpaltenüberschriften jeder Liste und Tabelle
    header.lineDie untere Linie einer Kopfzeile in Listen von Dialogfeldern
    header.sepDie Trennlinien zwischen Spaltenüberschriften
    table.lineDie Trennlinien in den Tabellen des Link-Grabbers und bei „Torrent hinzufügen“
    header.sortedDie Überschrift der sortierten Spalte
    header.sort-arrowDer Sortierpfeil
    row.pressedEine gedrückte Listenzeile
    chip.webDer „Web“-Chip in der Download-Liste
    chip.torrentDer „Torrent“-Chip in der Download-Liste
    chip.textText auf einem Chip
    list.drag-ghostEine Spaltenüberschrift, die gezogen wird
    list.marqueeDas Auswahlrechteck für Zeilen
    list.marquee.borderDer Rand des Auswahlrechtecks
    scroll.trackDie Spur einer Bildlaufleiste
    scroll.cornerWo sich zwei Bildlaufleisten treffen
    scroll.thumbDer Schieberegler und die Pfeile einer Bildlaufleiste
    scroll.thumb.hotDer Schieberegler oder ein Pfeil unter dem Mauszeiger
    scroll.thumb.pressedDer Schieberegler oder ein Pfeil, der gedrückt oder gezogen wird
    menubarDie Menüleiste
    menubar.bottomDie letzte Zeile der Menüleiste
    menubar.lineDie Linie unter der Menüleiste
    menubar.hotEin Menütitel unter dem Mauszeiger
    menubar.openDer Titel des geöffneten Menüs
    menuDer Hintergrund eines Menüs
    menu.itemEin Menüpunkt
    menu.hotEin Menüpunkt unter dem Mauszeiger
    menu.borderDer Rahmen eines Menüs und eines Popups
    menu.sepDie Trennlinien eines Menüs
    menu.textDer Text eines Menüs
    menu.glyphAufzählungszeichen, Häkchen und Untermenü-Pfeile
    menu.text.disabledEin ausgegrauter Menüpunkt
    toolbar.lineDie obere Linie der Symbolleiste
    toolbar.line.lightDer Hervorhebung darunter
    toolbar.hotEine Schaltflächen in der Symbolleiste unter dem Mauszeiger
    toolbar.hot.faintDer andere Teil einer geteilten Schaltfläche, während einer unter dem Mauszeiger ist
    toolbar.pressedEine gedrückte Schaltfläche in der Symbolleiste
    toolbar.hot.edgeDer Rand einer aktiven Schaltfläche in der Symbolleiste
    toolbar.hot.borderDer Rahmen einer aktiven Schaltfläche in der Symbolleiste (transparent: keiner)
    toolbar.split.shadowDer Teiler einer geteilten Schaltfläche im Ruhezustand: sein Schatten
    toolbar.split.lightDie Hervorhebung des Teilers
    toolbar.text.disabledEine ausgegraute Beschriftung in der Symbolleiste
    toolbar.arrowDer Pfeil einer Dropdown-Schaltfläche
    icon.disabledDie Farbe eines ausgegrauten Symbols (Anfang)
    icon.disabled.endDie Farbe eines ausgegrauten Symbols (Ende)
    treeDer Hintergrund der Kategorienbaumansicht
    tree.linesDie gepunkteten Verbindungslinien der Baumansicht
    tree.expanderDie Chevrons der Baumansicht, wo die Variante sie zeichnet
    tree.frameDer Rahmen des Kategorienbereichs
    progress.statusDer Statuswert im Fortschrittsfenster
    progress.label.disabledEine ausgegraute Beschriftung im Fortschrittsfenster
    segments.borderDer Rahmen der Segmentleiste
    segments.cornerDie Eckpixel der Segmentleiste
    pieces.haveEin Torrent-Teil, der hier ist
    pieces.partialEin Quadrat, das für teilweise vorhandene Teile steht
    pieces.missingEin noch nicht vorhandener Teil
    captionEine Titelleiste, die MDM selbst zeichnet
    caption.textIhr Titel und ihre Glyphen
    caption.text.inactiveIhr Titel und ihre Glyphen, wenn das Fenster nicht aktiv ist, und die einer ausgegrauten Schaltfläche
    caption.hotEine Beschriftungsschaltfläche unter dem Mauszeiger (ein Farbton über der Leiste)
    caption.pressedEine gedrückte Beschriftungsschaltfläche (ein Farbton über der Leiste)
    caption.buttonEine Beschriftungsschaltfläche im Ruhezustand, wo der Stil eine anzeigt (ein Farbton über der Leiste; transparent: keiner)
    caption.closeSchließen unter dem Mauszeiger
    caption.close.textGlyphe von „Schließen“ unter dem Zeiger
    caption.inactiveVon MDM gezeichnete Titelleiste, wenn das Fenster nicht aktiv ist (transparent: wie bei Aktivität)
    drop-target.edgeKante des Ablageziels im Ruhezustand
    egui.panelHintergrund des egui-Panels
    egui.windowHintergrund von Tooltips
    egui.window.borderRahmen von Tooltips
    egui.textText von Tooltips
    egui.selection.textFarbe des ausgewählten Textes in egui-Feldern
    egui.extremeDunkelster (oder hellster) egui-Hintergrund
    egui.faintBlasser egui-Hintergrund
    egui.widgetegui-Widgets im Ruhezustand
    egui.widget.borderIhr Rahmen (transparent: keiner)
    Alle Größen (26)
    SchlüsselWas es einstellt
    radiusEckenradius von Schaltflächen, Textfeldern und Dropdown-Menüs
    radius.buttonEckenradius einer glänzenden Schaltfläche (Luna, Aero; Aqua ist an den Enden abgerundet)
    radius.partEckenradius eines getönten Bereichs (Pfeilzone, Drehfeld)
    radius.checkEckenradius eines Kontrollkästchens
    radius.flyoutEckenradius eines Popups in einem Fenster (Kalender, Filterfeld)
    radius.menu-itemEckenradius eines Menüelements unter dem Zeiger
    radius.eguiEckenradius der egui-eigenen Widgets
    radius.popupEckenradius von Tooltips
    borderBreite des Rahmens eines Steuerelements
    focus-lineHöhe der Akzentlinie eines fokussierten Textfeldes
    chevron.widthStrichstärke des Chevrons eines Dropdown-Menüs
    font.dialogDialogtext (Tahoma in IDM-Dialogen)
    font.dialog.boldTitel der Optionsseiten
    font.titleFensterüberschrift (Tahoma Bold): der Browsererweiterung, der Helfer
    font.codeEin Anmeldecode, der auf der Seite eines Dienstes eingegeben werden muss
    font.uiMenüs und Text des Hauptfensters (Segoe UI)
    font.ui.boldFette Überschriften im Hauptfenster
    font.smalleguis kleiner Text
    font.bodyeguis Fließtext: Tooltips, mehrzeilige Felder
    font.headingeguis Überschriften
    list.rowHöhe einer Zeile in der Download-Liste
    list.headerHöhe der Spaltenüberschriften der Download-Liste
    tooltip.widthWo der Text eines Tooltips umbricht
    tooltip.margin-xLinker und rechter Abstand eines Tooltips
    tooltip.margin-topOberer Abstand eines Tooltips
    tooltip.margin-bottomUnterer Abstand eines Tooltips
    Jeder Steuerelement-Stil (7)
    SchlüsselStile
    field-focusLinie, Rahmen, Ring
    checkFluent, Quadrat, Adwaita, Breeze, Luna, Aero, Aqua
    buttonFluent, Breeze, Luna, Aero, Aqua
    progressLinie, Balken, Blöcke, Glanz
    scrollOverlay, Klassisch
    captionSystem, Metro, Adwaita, Breeze, Luna, Aero, Aqua
    focusGepunktet, Ring, Rahmen

    Oder lassen Sie es von einem KI-Assistenten schreiben

    Kopieren Sie diese Anweisung in Ihren KI-Assistenten und beschreiben Sie am Ende das gewünschte Aussehen. Sie gibt dem Assistenten das Format, die Schlüssel und die Regeln vor: lesbarer Text und ein sichtbarer Fokus auf beiden Seiten, und nichts, was von der Arbeit anderer kopiert wurde. Prüfen Sie beide Seiten selbst, bevor Sie das Ergebnis teilen.

    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. Ausprobieren, ohne MDM zu erstellen

    Legen Sie die Datei in MDMs Themenordner ab. Ansicht → Design → Themenordner öffnen öffnet ihn und erstellt ihn beim ersten Mal. Er befindet sich im MDM-Datenordner:

    Windows
    %APPDATA%\misterdownloadmanager\themes
    Linux
    ~/.local/share/misterdownloadmanager/themes
    macOS
    ~/Library/Application Support/misterdownloadmanager/themes
    Portable Kopie
    data\themesneben dem Programm

    Innerhalb von zwei Sekunden wird es in Ansicht → Design unter den integrierten Designs angezeigt, mit dem name, das es sich selbst gibt. Wählen Sie es aus, und das gesamte Fenster ändert sich sofort. Nachdem Sie die Datei bearbeitet haben, wählen Sie sie erneut in Ansicht → Design aus, um die Änderung zu sehen. Ansicht → Dark Mode-Unterstützung und Immer dunkel wechseln zwischen der hellen und dunklen Seite.

    Ansicht → Design → Designdatei hinzufügen… erledigt das für Sie: Wählen Sie die Datei aus, und MDM kopiert sie in den Designordner und wendet sie sofort an.

    Haben Sie bereits ein Base16- oder pywal-Schema?

    Es ist bereits ein Design. Ein Base16- oder Base24-Schema (.yaml) oder pywals colors.json, auf die gleiche Weise hinzugefügt, ändert nur die Farben von MDM: die Schema-Hintergründe hinter der Liste und den Fenstern, der Text bleibt lesbar (4,5:1 oder mehr), das Blau für den Fokus, die Auswahl und den Fortschrittsbalken. Sobald wal ausgeführt wurde, listet Ansicht → Design pywal auf, gelesen aus ~/.cache/wal/colors.json (%USERPROFILE%\.cache\wal\colors.jsonunter Windows), und MDM folgt den Farben jedes neuen Hintergrundbilds innerhalb von zwei Sekunden. Die Anleitung zeigt, welche Farbe wohin gehört.

  3. Teilen

    Haben Sie etwas erstellt, das anderen gefallen könnte? Erstellen Sie einen Pull Request auf GitHub, der es zu crates/app/assets/themes hinzufügt, mit:

    • der .toml-Datei und dem zugehörigen Icon-Ordner, falls vorhanden;
    • Screenshots des Hauptfensters in seiner hellen und dunklen Ansicht;
    • ein SOURCES.txt neben allen Icons, mit Angabe des Zeichners und der Lizenz. Icons müssen selbst erstellt sein oder unter einer Lizenz stehen, die MDM die Weitergabe erlaubt (GPL-3.0), niemals von einem anderen Programm kopiert.

    Noch unsicher? Zeigen Sie es zuerst in den Diskussionen. Der Beitrag-Leitfaden erklärt, wie Pull-Requests hier funktionieren.

Kostenlos, Open Source, keine Werbung, keine Testversion.

Mister Download Manager herunterladen