Closed SebiderSushi closed 3 years ago
Zusätzlich ist es dadurch auch nicht möglich, MediathekView unter einer Desktopumgebung mit Workspaces auf dem gewünschten Workspace zu starten und diesen sofort zu verlassen, da das Hauptfenster immer auf dem aktiven Workspace erstellt wird.
Auch ein Minimieren des Ladefensters hat keine Auswirkungen auf das folgende Hauptfenster.
Nutzt Du die nightly builds? Wenn ja könnte ich da etwas versuchen und Du müsstest das testen. Ich habe kein multi screen environment
So, ich hab mir das ganze jetzt genauer angesehen und kann da leider nichts tun. Der Startbildschirm ist mit JavaFX programmiert und das Hauptfenster ist derzeit noch mit Swing UI umgesetzt. Beide API verwenden eigene Routinen um die Bildschirme zu ermitteln - natürlich nicht kompatibel untereinander. Theoretisch wäre es möglich, in dem jeweiligen API den Bildschirmindex zu raten in der Hoffnung das er bei beiden passt. Aber das ist ein echtes Lottospiel. Und es scheitert spätestens dann wenn der splashscreen in einer multi screen Umgebung mittig zwischen zwei Bildschirmen dargestellt wird. Von daher handel ich mir mit einem Lösungsversuch massig Ärger ein den ich auch nicht wirklich debuggen kann mangels Testumgebung.
Ich könnte nighties testen.
Gibt es trotz der Inkompatibilität nicht einmal die Möglichkeit, das UI des Hauptfensters im existierenden Fenster des Ladefensters zu initialisieren?
Falls auch das nicht geht kein Problem ist ja nur ein kleines Problemchen hier ;)
Nein, der splash ist JavaFX, das Hauptfenster Swing. -> Zwei unterschiedliche Techniken die sich (fast überhaupt) nichts teilen :( Es wäre nett wenn Du den issue dann schließen könntest.
Ja der Gedanke war ob man grundlegend den Zugang zum Fenster, welches ja aus der Perspektive der Desktopumgebung noch existiert, vom JavaFX UI ans Swing UI übergeben kann. Aber klar, wenn die API das nicht her gibt geht's nicht.
Kann es dann immerhin sein, dass sich dieses Verhalten ändern wird, falls eines fernen Tages ganz MediathekView auf JavaJX aufbaut?
Ja wenn das ganze umgebaut ist sollte es möglich sein den Desktop anzugeben. Ich habe es auf meine TODO Liste aufgenommen es zukünftig zu beachten
Derzeit öffnet MediathekView beim Start immer zuerst das Fenster mit dem Ladevorschritt und danach, wenn es soweit ist, das Hauptfenster. In diesen paar Sekunden möchte ich in der Regel auch noch andere Dinge am Rechner erledigen oder andere Programme starten und dann zu MediathekView zurückkehren wenn alles geladen ist.
Problem: Das Hauptfenster ergreift beim Öffnen erneut den Fokus und drängt sich damit in den Vordergrund. Das stört vor allem, wenn man gerade noch ein paar andere Programme öffnen möchte und ganz besonders, wenn man gerade dabei war Text einzugeben.
Frage: Ist es möglich, dass das Hauptfenster das existierende Fenster des Ladevorschritts übernimmt oder anders den Fokus vom Ladefenster übernehmen oder replizieren kann? Das würde dann so aussehen: Das Ladefenster ergreift wie gehabt beim Öffnen den Fokus und erscheint im Vordergrund. Behält es den Fokus bis zum Erscheinen des Hauptfensters, wird dieses auch im Vordergrund auftauchen. Sollte der Nutzer aber in der Zwischenzeit ein anderes Fenster in den Vodergrund nehmen, sollte also das Ladefenster den Fokus verlieren, so ercheint das hauptfenster auch im Hintergrund und ergreift nicht erneut den Fokus.