Hi. Ich würde gerne einen Befehl sehen, der ein Fenster relativ zur Anzeigegröße verschieben könnte. Das heißt, wenn ich ein Fenster in die Mitte meiner Anzeige verschieben möchte, könnte der Befehl so aussehen:
win << Move Window Relative(0.5, 0.5)
Wenn der Benutzer mehrere Anzeigen hat, würde der Befehl davon ausgehen, dass die aktuelle Anzeige verwendet wird.
Wenn ich derzeit möchte, dass mein Skript ein Fenster zentriert:
1. Erstellen Sie ein Dummy-Fenster, das größer als jede Anzeige sein soll (10k x 10k).
2. Holen Sie sich die tatsächliche Größe des resultierenden Fensters. Es wird davon ausgegangen, dass dies die Größe der Anzeige des Benutzers ist.
3. Schließen Sie dieses Fenster.
4. Erstellen Sie nun das gewünschte Fenster und erhalten Sie dessen Größe.
5. Berechnen Sie die gewünschten Koordinaten der oberen linken Ecke des neuen Fensters unter Verwendung der Anzeigegröße und der Fenstergröße.
6. Verschieben Sie das neue Fenster mit dem Befehl << Move Window.
Ich finde, dass es hilft, die Erfahrungen der Benutzer mit den Tools, die ich entwickle, zu verbessern, wenn meine Fenster immer an derselben Stelle erscheinen, wenn sie sie verwenden, anstatt jedes Mal die Position zu wechseln. Da die Anzeigegrößen der Benutzer nicht vorhergesagt werden können, sind jedoch die obigen Schritte erforderlich.