Fensterobsessionen

Wie bringt man Fenster auf eine bestimmte Grösse? Bei Windows nutzt man Sizer, am Mac ein geeignetes AppleScript.

Sie entwickelt sich zu einer kleinen Obsession meinerseits – die Frage, wie man Fenster auf die richtige Grösse bringt, wenn man sie abfilmen will. Hier habe ich sie für die Browser besprochen, aber es gibt ja auch noch andere Programme.

Eine universelle Lösung wird hier vorgestellt: Für Windows wird das Gratisprogramm Sizer empfohlen. Das operiert mit Tastaturkürzeln und sogar mit Makros, um Fenster auf die Grösse zu bringen, die man für sein Video gerade benötigt.

Und so sieht übrigens das erwähnte Windows-Programm Sizer aus.

Für den Mac hat Amit Agarwal ein AppleScript-Script geschustert, das das Hauptfenster eines Programms auf die angegebene Grösse bringt und es in den sichtbaren Bereich des Bildschirms schiebt.

Dieses Script in Automator bringt ein Programmfenster auf die gewünschte Grösse.

Das ist der Code:

(*

This Apple script will resize any program window to an exact size and the window is then moved to the center of your screen.
Specify the program name, height and width below and run the script.

Written by Amit Agarwal on December 10, 2013

*)

set theApp to "Microsoft Word"
set appHeight to 720
set appWidth to 1280

tell application "Finder"
	set screenResolution to bounds of window of desktop
end tell

set screenWidth to item 3 of screenResolution
set screenHeight to item 4 of screenResolution

tell application theApp
	activate
	reopen
	set yAxis to (screenHeight - appHeight) / 2 as integer
	set xAxis to (screenWidth - appWidth) / 2 as integer
	set the bounds of the first window to {xAxis, yAxis, appWidth + xAxis, appHeight + yAxis}
end tell

Was ich nun gerne als Verbesserung hätte, wäre folgendes: Das Script soll ins Dienstmenü vom Mac verfrachtet werden und dort automatisch den Namen der aktiven App empfangen, wenn man auf [Programm] > Dienste > Auf 1280×720 Pixel bringen klickt.

Übers Dienstmenü beliebige Apps auf die richtige Grösse bringen

Einen Ansatz dafür gibt es hier: Man erstellt in Automator einen Dienst, wählt als Aktion AppleScript ausführen und gibt obigen Code ein. Nun will man natürlich die Variable theApp automatisch mit der aufrufenden Anwendung befüllen. Doch wo wird die übergeben?

Und wenn man danach googelt, findet man hier eine Anleitung, mit noch deutlich kürzerem Code:

set the_application to (path to frontmost application as Unicode text)

tell application the_application
      activate
      set bounds of window 1 to {1, 1, 1281, 721}
end tell

Der Clou ist: Der Name der aufrufenden Anwendung wird nicht vom Dienstmenü übergeben. Man bringt mit frontmost application in Erfahrung, welches die Anwendung im Vordergrund ist.

Fazit: Das ist nun wirklich äusserst simpel – und echt cool, dass beim Mac so etwas ganz ohne Zusatzprogramm, einfach mit Bordmitteln funktioniert.

Kommentar verfassen