8 Multi-Monitor Support unter Windows

Unter Windows ist es jetzt möglich, die Anzahl der Monitore (.screencount) und die Koordinaten der Monitore (.screen_x[integer], .screen_y[integer], .screen_width[integer] und .screen_height[integer]) über das setup-Objekt abzufragen. Die erfragten Werte sind dabei dynamisch, da man jederzeit die Skalierung eines Monitors ändern oder auch Monitore hinzufügen oder wegnehmen kann.

Werden mehrere Monitore verwendet, werden diese in einem virtuellen Desktop positioniert. Die Koordinaten dieses virtuellen Desktop sind mit .vscreen_x, .vscreen_y, .vscreen_width, .vscreen_height abfragbar. Es werden immer die Koordinaten des Arbeitsbereichs, also ohne die Taskleiste, geliefert. Zur Berechnung des virtuellen Desktops werden auch die Arbeitsbereiche herangezogen.

Abbildung 19-34: Relation der .screen_*[] und .vscreen_* Attribute

Achtung:

Bei unterschiedlichen Vergrößerungseinstellungen der Monitore ist zu beachten:

IDM für Windows 11

Die Werte erscheinen nicht konsistent. Ausgehend von der für Fenster empfohlenen Verwendung von .xauto = 1 und .yauto = 1 wird die Position mit dem Systemvergrößerungsfaktor umgerechnet, während die Größe mit dem Monitorvergrößerungsfaktor umgerechnet wird. Hierdurch lässt sich ein Fenster auf eine Position und Größe setzen, die den gesamten Monitor ausfüllt.
Die Position und die Größe des virtuellen Desktops werden mit dem Systemvergrößerungsfaktor umgerechnet. Zu welchem Monitor ein Fenster, das sich über mehrere Monitore erstreckt, zugeordnet wird, kann von dem Monitor abhängen, auf dem sich das Fenster gerade befindet. Für ein definiertes Verhalten sollten deshalb Koordinaten nur im unsichtbaren Zustand geändert werden.

IDM für Windows 10

Microsoft Windows skaliert Anwendungen, die DPI-Unaware sind, intern. Hierbei führen die unterschiedlichen Vergrößerungsfaktoren zu Falschdarstellungen. Um dies zu vermeiden sollten entweder alle Fenster nur auf dem primären Monitor geöffnet werden, oder alle Monitore denselben Vergrößerungsfaktor besitzen.

Anmerkung zu Windows 10 und 11 mit mehreren Monitoren:

Unter Windows kann es nach dem Hinzufügen/Entfernen eines Monitors oder dem Ändern der Anzeigeeinstellungen zu folgenden Problemen kommen:

  • Es erscheint kein Verschieberahmen beim Verschieben eines toolbar Objektes. Es kann auch vorkommen, dass ein Rechteck in der Größe des toolbar Verschieberahmens mit einem falschen Hintergrund auf einem anderen Monitor dargestellt wird.
  • Ausgedockte toolbar Objekte passen sich nicht an Änderungen der DPI Wertes an. Sowohl beim Verschieben auf einen anderen Monitor oder auch beim Ändern der Vergrößerung.

Das Problem liegt an Windows, das zum einen die Koordinaten beim Zeichnen auf den Desktop falsch umsetzt und zum anderen wichtige Nachrichten (WM_DPICHANGED) nicht an sogenannte Tool-Fenster versendet und den Window DPI Wert nicht ändert.

Nachdem der Bildschirmschoner aktiv war oder man sich neu angemeldet hat (und nach einem Neustart), tritt das Problem nicht mehr auf.

Siehe auch

Attribute .screencount, .screen_x[integer], .screen_y[integer], .screen_width[integer], .screen_height[integer], .vscreen_x, .vscreen_y, .vscreen_width, .vscreen_height

Verfügbarkeit

Ab IDM-Version A.06.03.a