Benutzer-Werkzeuge

Webseiten-Werkzeuge


pc:arrangewindows

Windows Fenster nebeneinander

Windows selber hat ja auch eine Funktion, um die Fenster nebeneinander anzuordnen. Leider hat Microsoft eine eher seltsame Interpretation des Begriffs „Nebeneinander“…

Also muß man wieder selber ran:

Das Programm

Zuerst bastelt man sich eine Batch-Datei

arrange_windows.bat
.venv\scripts\python arrange_windows.py

Da diese Batch- Datei beim Lauf selber auch ein Fenster aufmacht, was einem dann das Ergebnis versaut, muß man tricksen:

Mit der rechten Maustaste über der Batch- Datei geht man auf „Senden an/Desktop“. Dabei wird eine Verknüpfung auf dem Desktop erzeugt. Bei dieser Verknüpfung geht man dann auf „Eigenschaften“ und wählt „Laufen: Minimiert“, dann gehts.

Hier das Script selber:

arrange_windows.py
import sys
import pygetwindow as gw
from functools import cmp_to_key
 
import ctypes
 
user32 = ctypes.windll.user32
screen_width = user32.GetSystemMetrics(0)
screen_height = user32.GetSystemMetrics(1)
 
# Get all windows
windows = gw.getAllWindows()
 
active_windows = []
for window in windows:
    if window.isMinimized:
        continue
    if window.topleft.x < 0:
        continue
    if window.title == "":
        continue
    if window.title in [
        "Program Manager",
        "Microsoft Text Input Application",
        "Einstellungen"
        ]:
        continue
    print(window.title)
    active_windows.append(window)
 
active_windows.sort( key = cmp_to_key( lambda item1, item2: item1.topleft.x - item2.topleft.x))
nr_of_windows = len( active_windows )
width = float(screen_width / nr_of_windows)
for index in range( nr_of_windows ):
    window = active_windows[ index ]
    window.moveTo( int(index * width), 0)
    window.resizeTo( int(width), screen_height)

Anwendung

Zuerst sortiert man sich seine gewünschten Fenster grob von links nach rechts. Unerwünschte Fenster minimiert man.

Wenn man dann die Verknüpfung startet, werden die sortierten Fenster in der Reihenfolge gleichmäßig auf dem Bildschirm verteilt

pc/arrangewindows.txt · Zuletzt geändert: 2025/02/09 07:21 von admin