Hey,
ich habe sehr lange nichts mehr mit AutoIt gemacht, aber habe das Loupedeck neu (diese "Decks" sind ja nun im Home Office angekommen^^) und es gibt irgendwie keine guten Lösungen zum Anpassen von Größe und Position von Fenstern (beim Stream Deck gibt es ein "Window Mover" plugin). Da ich auch sonst nicht gut fündig geworden bin, wie ich das mit Shortcuts lösen kann, wollte ich scripten und da man mit Bordmitteln Argumente übergeben kann, dachte ich mir, dass ich das gleich ein wenig flexibler mache.
Grundsätzlich könnte ich ja einfach alle Argumente für WinMove übergeben und es wäre eine "komplette" Lösung. Da ich aber nur 4 Positionen haben, wollte ich die auch mit drin haben, damit ich bei etlichen Fenstern und Makros dann nicht die starke Redundanz mit den Argumenten habe.
Das Skript sieht nun so aus und macht (ungefähr), was es soll:
Opt("WinTitleMatchMode", 2)
#include <Array.au3>
Global $iArguments = $CmdLine[0], $sName = $CmdLine[1]
Global $iX, $iY, $iWidth, $iHeight
Select
Case $iArguments = 5; Name, x, y, width, height
$iX = $CmdLine[2]
$iY = $CmdLine[3]
$iWidth = $CmdLine[4]
$iHeight = $CmdLine[5]
Case $iArguments = 2; Name; position
Switch $CmdLine[2]
Case "left"
$iX = 0
$iY = 0
$iWidth = 1280
$iHeight = 1392
Case "center"
$iX = 1273
$iY = 0
$iWidth = 2574
$iHeight = 1399
Case "rightSmall"
$iX = 3833
$iY = 718
$iWidth = 1294
$iHeight = 681
Case "rightBig"
$iX = 3833
$iY = 0
$iWidth = 1294
$iHeight = 1399
EndSwitch
EndSelect
WinMove($sName, "", $iX, $iY, $iWidth, $iHeight)
Alles anzeigen
In Loupedeck sieht das dann so aus:
An sich bin ich sehr zufrieden, aber ich es gibt ein kleines "Problem" und ich würde gerne grundsätzlich wissen, ob ihr noch eine Idee hättet, das "besser" zu machen
Zu meiner Verwendung:
Ich habe einen Samsung Odyssey G9, also einen 49 Zoll mit 5120x144 und ich habe ihn mit FanzyZones (Microsoft Power Tools) so aufgeteilt:
Bei PiP binde ich rechts oben dann eine andere Quelle ein. Und ich möchte mit dem Deck halt automatisieren, dass ich dann mit einem Klick alles wieder in die richtige Position bringen kann. Ebenso will ich beim Start meines Rechners alles richtig platzieren (alles an Chats/Mails usw. ist rechts, Chrome mittig und links sind so OneNote, Miro und andere Dinge, die ich brauche).
Jetzt ist es so, dass sich z. B. die PWA, die Chrome für WhatsApp und Gmail erstellt hat, sich leicht anders verhalten, als die anderen Tools und die "generellen Breiten/Höhen" passen irgendwie nicht immer und es entstehen kleine(!) Lücken oder Überlappungen...
Dann hatte ich 2 Lösungen im Kopf, die ich beide nicht hinbekommen habe:
- Automatisch mit DesktopHeight & Co die Zahlen automatisch berechnen => dafür brauchte ich z. B. die Höhe der Taskleiste, wofür ich das gefunden habe: Taskbar Eigenschaften, leider passte das Ergebnis aber nicht und nach der Ausrichtung fehlten ein paar Pixel zwischen Fensterende und Taskleiste)
- Irgendwie diesen "Snap" in die Bereiche von FanzyZones shortcutten => Wenn man ein Fenster aktiviert und die Windowstaste mit Pfeil links/rechts verwendet, dann snapt das Fenster immer in die nächste Zone, leider habe ich keine Shortcuts gefunden, um direkt die Zonen anzuvisieren und das mit den Pfeiltasten klappt ja nur, wenn ich wüsste, in welcher Zone das Fenster grade ist und optisch wird das auch sehr wild...
Also: Vielleicht hilft das Skript schon jemandem, ich hatte Google lange bemüht, um eine "fertige Lösung" zu finden und bestenfalls habt ihr noch ein Feedback für mich, das die Lösung nochmal etwas voran bringt!