preloader

WinTangle

Fensterverwaltung für Windows nach Rectangle-Vorbild

  • C++
  • Win32
  • CMake
  • mingw-w64
WinTangle

Auf dem Mac ordne ich Fenster seit Jahren mit Rectangle: Tastenkürzel drücken, Fenster sitzt. Unter Windows fehlte mir genau das – die eingebaute Andock-Funktion kennt Hälften und Viertel, und danach hört sie auf.

WinTangle macht dasselbe wie Rectangle, nur für Windows: Fenster in Hälften, Drittel, Viertel, Sechstel, Achtel und Neuntel schieben, per Tastenkürzel oder indem man sie an einen Bildschirmrand zieht.

Was es kann

  • 58 Aktionen – von der linken Hälfte bis zum mittleren Neuntel, dazu Maximieren, Zentrieren, Vergrößern und Verkleinern, der Wechsel zwischen Bildschirmen sowie „alle Fenster kacheln" und „alle kaskadieren"
  • Größen durchblättern – dieselbe Kombination noch einmal gedrückt, und aus der Hälfte wird zwei Drittel, dann ein Drittel
  • Abstände zwischen Fenstern und zum Bildschirmrand, getrennt einstellbar
  • Anwendungen ausnehmen, die sich ohnehin nicht umschieben lassen
  • Konfiguration als JSON unter %APPDATA%, mit Kommentaren, im Einstellungsfenster bearbeitbar und als Datei aus- und einlesbar
  • wintangle://-Links, mit denen sich jede Aktion von außen auslösen lässt – praktisch für Stream Deck und Automatisierung

Drei Entscheidungen

Alles liegt auf Ctrl+Alt. Das ist kein Geschmack, sondern Notwendigkeit: Win+Pfeil gehört dem Andocken von Windows selbst und lässt sich über RegisterHotKey nicht übernehmen. Dass Rectangle auf dem Mac ⌃⌥ benutzt, passt dafür umso besser – die Finger müssen sich beim Wechseln zwischen den Systemen nicht umgewöhnen.

Nicht jede Aktion bekommt eine Taste. Sechstel, Achtel und Neuntel sind bewusst unbelegt und nur über das Tray-Menü, die Einstellungen oder einen Link erreichbar. 58 Tastenkürzel kann sich niemand merken, und die seltenen würden nur die häufigen verdrängen.

Im Einstellungsfenster sind die Tastenkürzel abgeschaltet. Sonst ließe sich eine bereits belegte Kombination gar nicht neu vergeben – sie würde beim Drücken einfach ausgeführt, statt aufgezeichnet zu werden. Und wenn eine Kombination schon woanders liegt, wandert sie zur neuen Aktion: Windows könnte zwei Aktionen auf derselben Taste ohnehin nicht auseinanderhalten.

Technik

Natives C++ auf der Win32-API, ohne Laufzeitumgebung – heraus kommt eine einzige EXE. Der Rechenkern, der aus Bildschirmgröße, aktueller Fensterlage und gewünschter Aktion das neue Rechteck bestimmt, ist von der Windows-Schicht getrennt und mit 63 Unit-Tests abgedeckt.

Das hat einen praktischen Grund: Entwickelt wird auf dem Mac. Der Kern läuft und wird dort getestet, die Win32-Schicht wird lokal mit mingw-w64 übersetzt. Das fängt Übersetzungs- und Linkfehler ab, sagt aber nichts über das Verhalten zur Laufzeit – dafür sind der MSVC-Build in der CI und ein echter Rechner zuständig.

Installiert wird wahlweise per Setup (nur für den Benutzer, ohne Administratorrechte) oder als ZIP zum Entpacken. Signiert ist nichts, SmartScreen meldet sich beim ersten Start entsprechend zu Wort; die Prüfsummen stehen auf jeder Release-Seite.

← Alle Projekte