Fenstereigenschaften mit applescript ändern

anhe

Aktives Mitglied
Thread Starter
Dabei seit
13.11.2007
Beiträge
1.899
Reaktionspunkte
309
Hallo Forum,

ich möchte mit applescript die Fenstergröße und Positionen meiner Anwendungen auf dem Bildschirm verändern. Hierzu folgendes Minimalbeispiel:

Code:
tell application "Finder"
		set bounds of front window to {20, 80, 1200, 700}
	end tell
	tell application "Terminal"
		set position of front window to {20, 80}
	end tell
	tell application "Safari"
		set bounds of front window to {20, 80, 1200, 700}
	end tell

Gemäß den zugewiesenen Fenstereigenschaften sollten ALLE drei Fenster mit der linken-oberen Ecke bei 20,80 beginnen und die Fenster von Finder und Safari sollten gleich groß sein. Leider ist dem nicht so, Alle Fenster beginnen bei x=20, aber bei den y-Werten unterscheiden sie sich exakt um die Höhe der Fensterleiste mit den drei Buttons (rot, gelb, grün (weis nicht wie die bezeichnet wird)). Die rechte-untere Ecke wird wieder bei Finder.app und Safari.app korrekt auf 1200,700 gesetzt.

Wenn ich die Positionsangabe beim Terminal auf

Code:
set position of front window to {20, 60}

setze, dann kann ichs fast erzwingen. Ich habe aber erstens keine Lust auf solche Experimente und zweitens ist das ja dann auch nicht korrekt ...

Wieso Beginnen nicht alle drei Fenster an der gleichen Position ?

Viele Grüße

André
 
Zuletzt bearbeitet:
Hallo André,

es gibt einfach Dinge, die sind so ;-)
So auch in diesem Fall. Bei "Safari" bezieht sich die Positionierung scheinbar auf "Content View".

Code:
tell application "Finder" to set bounds of front window to {20, 80, 1200, 700}
tell application "Terminal" to set position of front window to {20, 60}
tell application "Safari" to set bounds of front window to {20, 60, 1200, 700}

Viele Grüße


Ich habe aber erstens keine Lust auf solche Experimente
Daran solltest Du Dich aber bei AS gewöhnen ;-)
 
Hallo little_pixel,

danke für Deine Antwort. Interessanterweise scheint das Problem wohl eher bei der Positionierung des Finderfensters zu liegen, denn bei :

Code:
tell application "Finder" set bounds of front window to {20, [COLOR="Red"]102[/COLOR], 1200, 700}
tell application "Terminal" set position of front window to {20, 80}
tell application "Safari" set bounds of front window to {20, 80, 1200, 700}

haben alle drei Fenster den gleiche Ursprung. Weiss der Geier, was ich vorhin falsch gemacht habe, das alle untereinander waren. Offenbar muss man beim Finder 22 Pixel in der vertikalen hinzuaddieren.

Kann man bei der Fensterpositionierung eingentlich auch relative Werte angeben? Beispielsweise, das mein Finderfenster eine Breite von 80% der Bildschirmweite hat. Das sollte dann ja bei Resolution Independence interessant werden !

Viele Grüße

André
 
Oha, vielen Dank,

da muss ich mich erstmal einlesen. Und dann muss ichs auch noch verstehen ...

Vielen Dank erstmal

André
 
Quick and dirty:
PHP:
tell application "Finder"
	set screenSize to (bounds of window of desktop)
end tell

set maxW to item 3 of screenSize --> 1440 pixel
set maxH to item 4 of screenSize --> 900 pixel

set W80 to maxW * 0.8 --> 80% der Breite = 1152 pixel
set H75 to maxH * 0.75 --> 75% der Höhe = 675 pixel

Good scripting
Farid
 
Zurück
Oben Unten