Skip to content
  • Kategorien
  • Aktuell
  • Tags
  • Beliebt
  • Benutzer
  • Gruppen
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
MediathekView Logo

MediathekView-Forum

  1. Übersicht
  2. Entwicklerforum
  3. "Hell auf dunkel" Modus

"Hell auf dunkel" Modus

Geplant Angeheftet Gesperrt Verschoben Entwicklerforum
8 Beiträge 3 Kommentatoren 1.7k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Z Offline
    Z Offline
    zaJaa
    schrieb am zuletzt editiert von zaJaa
    #1

    (Vorbemerkung: das Folgende bezieht sich auf Linux-PCs (hier Xubuntu 20.4). Meine vorgeschlagene Lösung sollte auch für andere Umgebungen funktionieren - ob sie aber für Windows- und Mac-Umgebungen überhaupt nötig ist, ist mir nicht klar.)

    Wie viele Menschen meines Alters leide ich an einer leichten Linsentrübung:
    Katarakt oder grauer Star

    Ich konnte im Lauf der letzten Jahre meinen PC-Arbeitsplatz so einrichten, dass das Problem der Überstrahlung mehr oder weniger dunklen Textes durch helle Umgebung nicht mehr auftritt.

    Dabei sind mE die folgenden Punkte entscheidend:

    • der Raum mit meinem Display ist abgedunkelt
    • alle meine Programme laufen mit heller Schrift auf dunklem Grund (oder fast alle …)

    Systemweit benutze ich die GTK-Themes “Adwaita-dark” (Erscheinungsbild) und “Greybird-dark” (Fenstermanager-Einstellungen)
    Manche Programme bringen eigene Einstellungen mit (zB TV-Browser, Mousepad).
    Für die Browser (Waterfox und Opera beta) benütze ich die “Dark Reader” Erweiterung.

    Nun zu MView (13.7.1):
    ich starte mview mit der folgenden Option als letzter Zeile in der MediathekView.vmoptions Datei:

    -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
    

    was meine Themes-Einstellungen weitgehend auch in mview funktionieren macht.

    Nachdem MenchenSued in dem Vorläufer-Thread (in "Ideen,Anregungen …) dieses schrieb:
    “Ich habe gerade mal im Code nachgeschaut, eine Farbe für den Hintergrund ist derzeit nicht definiert”

    habe ich jetzt mal einen Screenshot gemacht, um die verbliebenen Problemzonen zu demonstrieren:
    Button- & Statusleiste
    Beschreibungsfeld unten
    alle Unterfenster (bis auf die Bandbreite)

    210724-190706.png

    Meine laienhafte Vorstellung: wenn man alle Farbeinstellungen, inklusive jener erst noch zu definierenden, aus der mediathek.xml in eine eigene Datei auslagert, könnte man ja gleich zwei davon mitliefern (zB hell.xml und dunkel.xml) und per einer Option in den Einstellungen eine davon auswählen?

    Ich wäre gern bereit, die Farben für die dunkel.xml zu liefern.
    Nichts eilt …

    Z 1 Antwort Letzte Antwort
    • Z Offline
      Z Offline
      zaJaa
      antwortete auf zaJaa am zuletzt editiert von zaJaa
      #2

      Kann die folgende Feststellung unaufwendig bestätigt oder verworfen werden? “Stimmt” oder “stimmt nicht” wären ausreichend:

      Dieses ist in MediathekView nicht auf einfache Weise möglich:

      global allen Hintergünden die Eigenschaft/das Attribut (oder wie auch immer) “Farbe” zuweisen.

      “Nein” für: das ist nicht so einfach rauszufinden ;-))

      D 1 Antwort Letzte Antwort
      • D Offline
        D Offline
        DerReisende77 Entwickler
        antwortete auf zaJaa am zuletzt editiert von
        #3

        @zajaa Dunkelmodus ist nicht trivial umzusetzen.
        In deinem Screenshot sind die dunklen Anteile quasi der “alte” Swing-UI Anteil, welcher nicht mit modernen hohen Auflösungen klar kommt. Du nutzt gem. Deiner Angabe das GTK L&F, welches innerhalb von Java das am schlechtesten gepflegte und fehlerbehafteste ist. Deswegen habe ich per default auch für die App Nimbus gewählt. Würde MV noch komplett Swing beinhalten wären für dich die Probleme beseitigt.
        Die hellen Anteile im Screenshot (zzgl. Bandbreitenansicht) sind die modernen Anteile, die mit JavaFX neu implementiert wurden damit auch hohe Auflösungen etc funktionieren. Diese nutzen keine Swing L&F sondern einen eigenen Mechanismus. Damit aber nicht genug.

        Die Erkennung ob ein Nutzer Dark Mode nutzt oder nicht funktioniert nur zuverlässig unter Windows und macOS. Meine Suche nach funktionalen APIs um das für GNOME oder KDE zu bewerkstelligen hat bisher nichts ergeben. Eine Erkennung über angepasste Desktop-Themes scheidet aus - da ist der Aufwand einfach viel zu hoch.

        Deshalb wird es vorerst keinen Dark Mode für MediathekView geben.

        Open source developers do NOT have to:

        • Make your issue a priority, just because you say so.
        • Give you any sort of "timetable", or explanation for why it´s "taking too long".

        Check your entitlement. Nobody owes you anything.

        Z MenchenSuedM 2 Antworten Letzte Antwort
        • Z Offline
          Z Offline
          zaJaa
          antwortete auf DerReisende77 am zuletzt editiert von
          #4

          @derreisende77
          tut mir leid, dass ich noch einmal nerve, aber dein “Die Erkennung ob ein Nutzer Dark Mode nutzt oder nicht …” lässt mich befürchten, dass ich mich (wie immer …) zu wenig strukturiert und zu kompliziert ausgedrückt habe.

          Dass ich GTK und meine Linux-GUI Einstellungen erwähnte, wäre für meine Fragen nicht wirklich nötig gewesen.

          Ich möchte aber ausschliessen, dass eine Lösung, die unterhalb von “automatische Integration in die bestehende Oberfläche” vielleicht möglich wäre, nicht wenigstens wahrgenommen wird.

          Darum habe ich jetzt mal ein mockup gemacht:

          mockup.png

          Meine Frage ist:
          wäre das, was ich da oben in der roten Ellipse andeute, nicht eine Möglichkeit, Benutzern die Möglichkeit zu geben, sich ihren Dark Mode selbst zu basteln, unabhängig von irgendwelchen Voreinstellungen des Betriebssystems?

          Wenn das für euch nur mit mehr als geringem Aufwand möglich ist, dann lasst es durchaus sein, ich brauche auch keine Begründung dafür.
          Ihr macht auch ohne Dark Mode einen tolle Sache
          👍 👍 👍

          1 Antwort Letzte Antwort
          • MenchenSuedM Online
            MenchenSuedM Online
            MenchenSued Globaler Moderator
            antwortete auf DerReisende77 am zuletzt editiert von
            #5

            @derreisende77
            Der mtplayer verwendet einfach zwei unterschiedliche CSS Dateien.
            https://github.com/xaverW/MTPlayer/tree/master/src/main/resources/de/p2tools/mtplayer
            2021-09-19_08-03.png

            Ich habe aber keine Erfahrung, ob sich so etwas auch ohne Aufwand im MediathekView realisieren ließe. Ansonsten wäre der Vorschlag von @zaJaa einen Versuch wert. Hier würde es “lediglich” zweier neuer Parameter bedürfen. Vielleicht kannst Du uns kurz sagen, wie Du es siehst, ausprobieren könnte es dann ggf. auch jemand anders, wenn er weiß, an welchen Stellen diese zwei Parameter eingesetzt werden müssen.


            MediathekView 14.3.0 nightly (4.3.2025), Linux Mint 21.3, VLC 3.0.16

            D 1 Antwort Letzte Antwort
            • D Offline
              D Offline
              DerReisende77 Entwickler
              antwortete auf MenchenSued am zuletzt editiert von DerReisende77
              #6

              @menchensued Stimmt, mtplayer nutzt aber auch durchgängig JavaFX und erhebt nicht den Anspruch, auf den jeweiligen OS halbwegs kompatibel auszusehen. Damit ist es dann auch ein leichtes die Farben hin- und herzuwechseln.
              Die Grenzen der obigen Ansätze erkennt man z.B. unter Windows und macOS. Deren Themes scheren sich einen Dreck ob Dark mode aktiv ist oder nicht. Somit ist das ganze schon mal nicht wirklich trivial auf den Plattformen umzusetzen, auf denen man zumindest einen Dark Mode erkennen kann.
              Das Anpassen der Farben ist für die meisten Swing Themes undokumentiert und somit ein sehr umfängliches Ratespiel.
              Davon abgesehen gibt es eine Unmenge an (kommerzieller) Software die derzeit auch noch kein Dark mode beherrscht.

              Ich bleibe daher (bis man mich eines besseren belehrt) bei meiner Meinung das die ganze Sache zukünftig wünschenswert, aber derzeit nicht trivial umzusetzen ist.

              Open source developers do NOT have to:

              • Make your issue a priority, just because you say so.
              • Give you any sort of "timetable", or explanation for why it´s "taking too long".

              Check your entitlement. Nobody owes you anything.

              MenchenSuedM 1 Antwort Letzte Antwort
              • MenchenSuedM Online
                MenchenSuedM Online
                MenchenSued Globaler Moderator
                antwortete auf DerReisende77 am zuletzt editiert von
                #7

                @derreisende77
                Danke für die Analyse. Wenn es nicht mit “einer Zeile Code” getan ist, ist es natürlich berechtigt, kein Risiko einzugehen und lieber auf dieses Feature zu verzichten. Vielleicht kann man es auch die ToDo-Liste setzen für den Fall, dass der gesamte Code neu geschrieben wird. Es war ja mal die Rede von C++, oder?


                MediathekView 14.3.0 nightly (4.3.2025), Linux Mint 21.3, VLC 3.0.16

                D 1 Antwort Letzte Antwort
                • D Offline
                  D Offline
                  DerReisende77 Entwickler
                  antwortete auf MenchenSued am zuletzt editiert von
                  #8

                  @menchensued ja c++ steht im Raum. Aber momentan habe ich beruflich so viel zu tun dass ich auch einen 72h Tag locker füllen könnte 😩

                  Open source developers do NOT have to:

                  • Make your issue a priority, just because you say so.
                  • Give you any sort of "timetable", or explanation for why it´s "taking too long".

                  Check your entitlement. Nobody owes you anything.

                  1 Antwort Letzte Antwort

                  30

                  Online

                  6.7k

                  Benutzer

                  6.2k

                  Themen

                  39.1k

                  Beiträge
                  • Anmelden

                  • Du hast noch kein Konto? Registrieren

                  • Anmelden oder registrieren, um zu suchen
                  • Erster Beitrag
                    Letzter Beitrag
                  0
                  • Kategorien
                  • Aktuell
                  • Tags
                  • Beliebt
                  • Benutzer
                  • Gruppen