MS4: Bug Fensterverhalten (mehrere Monitore -> nicht vorhandene werden genutzt)

• 6. Feb 2023 - 08:11

Hi,

ich arbeite mit verschiedenen Monitorsetups: Mal nur den Laptop-Monitor, mal einen externen dazu, mal zwei.
Leider öffnet MS4 immer wieder mal Fenster auf einem "nicht mehr vorhandenen" - entweder das Hauptfenster oder immer wieder mal Dialog (auch solche, ohne deren Schließen man nichts mehr machen kann).
Da MS4 dann auch via Taskleiste nicht mehr erreichbar ist (MS4 lässt kein "Verschieben" zu), wird es unbedienbar und kann nur via Taskmanager abgeschossen werden.
Ein neuer Start ändert leider auch nichts.

Dadurch ist MS4 unnutzbar, sobald ich nicht an meinem Schreibtisch mit Maximalsetup sitze.
(Als Backup muss ich unterwegs dann immer MS3 starten - was ein Pokerspiel ist, wenn man dann MS3- und MS4-Dateien hat)

Anm:
- Ich habe derzeit MS 4.0.1 installiert.
- Mit anderen Anwendungen habe ich das Problem nicht. Alle erkennen zuverlässig, welche Monitore tatsächlich da sind und nutzen nur diese - selbst, wenn ich mittendrin welche "rausnehme".


Comments

Antwort auf von Jojo-Schmitz

Ah - Danke!!

Sehr schön.
Bei den Vorgängerversionen ist mir das nicht aufgefallen, obwohl ich damit auch viel gearbeitet habe.
@Plugin:
1. Für MS4 gibt's das vermutlich noch nicht, richtig? (nicht, dass ich was übersehen habe)
2. Verstehe ich das richtig: Damit das Plugin "wirkt", muss ich es aber in Musescore selbst ausführen?
Da sehe ich Schwierigkeiten:
- Oft war mein "MainWindow" weg, weshalb ich da auch nirgends ein PlugIn starten kann (und beim PlugIn steht sowieso "...can't alter the size and position of the MainWindow...")
- Andere Male war zwar das MainWindow da, aber ein modaler Dialog war weg, der jegliche Bedienung verhinderte (richtig doof: Beim Programmstart wurde ein "Es ist ein neues Update verfügbar..."-Dialog auf dem nicht vorhandenen Monitor angezeigt)
- "Wirkt" das PlugIn nur auf gerade geöffnete Dialoge? Oder kann es sowas wie "den Defaultwert" ändern?

In Summe schon ziemlich merkwürdig, dass es sich offenbar um einen so alten und immer noch unbehobenen Bug handelt.

Das Interessante bei der Sache ist:
Auf welchen Desktop/Monitor welches Programm zu erscheinen hat, ist Sache des Windowmanager. Im Falle von Windows (fest) mit dem Betriebssystem verbunden. Natürlich kann man dem Windowmanager Anweisungen erteilen, auf welchem Monitor und Desktop an welcher Stelle er Fenster X öffnen soll.
Wenn es den Monitor und Desktop nicht gibt, Fallback zu :0.0

Im Falle von Musescore ergeben sich für mich da ein paar Gedanken:
- Keine Prüfung, ob Monitor oder Desktop exisitert (ein klassischer Fall in der Programmierung; fehlende Prüfung)
- Musescore muß diese Information irgendwo speichern, da es ja den Windowmanager überstimmt. Ist die Frage: "Wo wird die Information gespeichert?" Wenn ich mich recht erinnere, habe ich das Problem nur in Verbindung mit Windows gelesen. Beim Überfliegen der MuseScoreX.ini konnte ich keinen Eintrag finden, der darauf hinweisen könnte. Aber ich benutze kaum mehrere Monitore, mit Musescore noch nie. Nur verschiedene Desktops und da habe ich Musescore nicht an einem gebunden. In .local/share/MuseScore/ (Linux) konnte ich auch keine Hinweise entdecken. Bei Windows kommt dann noch die Registry in Frage.

Ergo liese sich mit Testen verschiedener Konstellationen und Vergleich der üblichen Verdächtigen evtl. eine Stellschraube finden.
Ach, da fällt mir gerade ein, Musescore verwendet Qt. Windows verwendet WinAPI. Evtl. liegt da der Hund begraben.

Do you still have an unanswered question? Please log in first to post your question.