Fenster-Layouts und RDP: Ein Workaround


Thomas Wölfer
Thomas Wölfer

08. Februar 2017


Das Problem beim Kunden: Immer wenn er per RDP mit dem Büro verbunden ist und mit der Baustatik arbeitet, sind die Fenster vom zweiten Monitor nicht sichtbar, weil in der RDP-Session nur ein Monitor verfügbar ist.

Um zu verstehen was da passiert, braucht man ein bisschen Hintergrundwissen.

Windows kümmert sich drum, das Top-Level Windows auf den sichtbaren Bereich geschoben werden, wenn man sich mit einer Session verbindet, und das Bildschirm-Layout ein anders ist, als es zum Zeitpunkt der Session-Eröffnung war.

Wenn die Session einfach neu aufgemacht wird, kümmern sich die Programme selbst drum, wo ihre Fenster landen. Viele nehmen da einfach den Default, und Windows kümmert sich dann wieder drum. Das Ergebnis ist dann zwar etwas unbefriedigend, aber die Fenster sind dann auf jeden Fall im sichtbaren Bereich des Bildschirms.

Die Baustatik macht das aber anders: Sie merkt sich alle Fensterpositionen, auch von den Unterfenstern. Darum kann man z.b. die Meldungs-Ansicht auf einen zweiten Monitor schieben und die erscheint dann beim nächsten Programmstart auch wieder dort. Man kann auch das Fenster für Knoten-Eigenschaften an eine beliebige Position schieben, und auch das kommt dann in Zukunft immer an dieser Stelle hoch.

Die Baustatik kümmert sich auch drum, das das Hauptfenster beim Start in einem sichtbaren Bereich eines vorhandenen Monitors liegt. Wenn der gespeicherte Bereich nicht in einem sichtbaren Bereich liegt, wird das Fenster einfach auf dem vorhandenen Hauptmonitor angezeigt.

Nachdem man im Normalfall so einen Wechsel des Monitor-Layouts nicht besonders oft hat - sondern eben nur, wenn sich die Auflösung des vorhandenen Monitors oder die Anzahl vorhandener Monitore ändert, ist das auch weiter kein Problem.

Nun macht die Baustatik das auch noch etwas komfortabler: Sie merkt sich das Fenster-Layout nämlich pro Projekt und Computer. Der Effekt davon ist, dass man im Büro mit einem Projekt arbeiten kann und dort ein spezielles Fenster-Layout verwendet. Dann kann man das Projekt mit nach Hause nehmen - und dort ein eigenes Layout haben. Die beiden Varianten (eigentlich beliebig viele) überschreiben sich nicht: Jeder Computer hat also pro Projekt sein eigenes Layout.

Kompliziert wird es, wenn man nun von zu Hause per Remote Desktop auf den Computer im Büro zugreift. Hier tritt dann folgender Fall auf: Im Büro hat man beispielsweise 2 Monitore, zu Hause nur einen. Man würde sich also ein Fenster-Layout wünschen, das für einen Monitor gedacht ist: Das "Zu Hause" Layout. Nun ist man aber per RDP mit dem Rechner im Büro verbunden, und wenn die Baustatik nach dem Namen des aktuellen Rechners fragt, dann bekommt sie auch den Namen des Büro-Computers: Das ist ja auch der, auf dem man arbeitet - der Computer vor dem man sitzt ist ja im Prinzip nur ein Fenster das den anderen anzeigt.

Ergebnis: Man bekommt das Fenster-Layout des Bürocomputers. Alles was dort auf dem 2. Monitor wäre, kann man aber nicht sehen, weil man nur einen Monitor hat.

Der Fall war mir bis gestern noch nicht untergekommen. Jetzt aber eben schon, und in der Baustatik ist ab dem nächsten Update eine Änderung drin: Wenn man sich in einer RDP-Sitzung befindet, verwendet die Baustatik nicht mehr den Rechnernamen zum laden des Fenster-Layouts, sondern einen künstlichen Namen der auf dem Rechnernamen basiert und eine zusätzliche Kennung hat: Man kann dann also ein Fenster-Layout auch speziell für eine Sitzung per RDP auf eine spezielle Maschine haben.

Bis dahin gibt es aber einen Workaround: Im Fenster-Menü gibt es den Befehl "Fenster-Layout" und darin die Befehle "Fenster-Konfiguration laden" und "Fenster-Konfiguration speichern". Damit tut man folgendes: Im Büro die Baustatik starten und dann das Fenster-Layout speichern, zum Beispiel unter dem Namen "Büro". Dann später von zu Hause in der RDP-Sitzung das Fenster-Layout zunächst zurücksetzen, dann die Fenster so hinschieben, wie man sie gerne hätte und schließlich nochmals das Layout speichern - zum Beispiel unter dem Namen "RDP".

Ab jetzt kann man zwischen den beiden gespeicherten Konfigurationen umschalten – je nachdem, ob man im Büro oder in der RDP-Session ist. Ab dem nächsten Update geht das automatisch...