Änderungen aus *.plist im laufendem Betrieb refreshen ?

anhe

anhe

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

ich arbeite von Zeit zu Zeit mit einem externen Monitor (4:3 UXGA) an meinem MB (C2D 2.16 10.4.11). In dem Fall verwende ich den externen als Hauptmonitor (Dock) und den des MB als zuätzliches Display. Das funktioniert auch alles gut. Wenn ich das Display anschliesse erkennt Mac OS das auch gleich und setzt das Dock drauf usw. Ich habe mir dann einige Fenster auf dem größeren Monitor größer "gezogen" und anders positioniert als auf dem MB-Display. Das ist ja auch sinnvoll, da das externe Display eine höhere Auflösung und zudem ein anderes Seitenverhältnis hat.

Wenn ich das Display entferne, dann stimmen die Fenstergrößen und Positionen aber nicht mehr mit denen bevor ich das externe Display angeschlossen habe überein. Die werden alle komisch übereinander gestapelt und auf die maximale Höhe (glaube ich) gebracht. Ein System konnte ich bisher nicht erkennen.

Die Fenstergrößen und Positionen stehen ja offenbar in den *.plists der einzelnen Anwendungen. Zumindest habe ich eben mit der com.apple.Terminal.plist experimentiert und mir ein bash-Skript geschrieben was mir die *.plist verändert. Nur muss ich dazu Terminal.app immer wieder neu-starten.

Ich würde mir gerne eine Anwendung schreiben, bei der ich verschiedene Profile wie "Büro mit externem Monitor", "Mobil", "zu Hause-Bildbearbeitung" etc. erstellen kann und damit automatisch die Positionen und Größen der Fenster verändert werden. Ohne das die Anwendungen neu gestarten werden müssen.

Gibt es vielleicht sogar schon eine solche Anwendung ?

Viele Grüße

André
 
Es sind ja Eigenschaften, die du änderst. Die kann man zwar ändern, aber die finden nicht gleich "Live" Anwendung. Dazu ist ein Neustart der App notwendig.
 
Mac OS ändert die ja auch "Live". Wenn ich den Monitor abziehe, dann werden die Eigenschaften ja auch sofort geändert. Die Fenster sind kleiner und alle auf meinem MB-Display ... Ohne Neustart der Anwendungen !
 
Es ging in deiner Frage um Änderungen, die du "händisch" vorgenommen hast .. indem du in Programmcode herumfummelst ;) Das geht nicht "Live" zur Anwendung über.
 
die anwendungen lesen die plists doch nur beim start, nicht ständig...

mach das ganze doch mit applescript statt mit plists/bash ...
 
Richtig. Und deswegen ist ja auch ein Neustart nötig, damit man die Änderungen nachverfolgen kann.
 
OK, das leuchtet ein. Wie kann ich denn sonst die Fenstergrößen und Positionen der Programme per Anwendung "Live" ändern ?
 
applescript, die meisten anwendungen sollten die fenster kommandos können...
 
Hallo nochmal,

wen es interessiert (oder für den Fall das jemand mal nach sucht)

ich habe gerade mal experimentiert:

Code:
set Profil to display dialog ¬
	"Welche Umgebung?" buttons {"Arbeit", "Mobil"}
set Umgebung to button returned of Profil

if Umgebung is "Arbeit" then
	tell application "Finder"
		set bounds of front window to {20, 80, 1200, 700}
	end tell
else
	tell application "Finder"
		set bounds of front window to {20, 80, 600, 700}
	end tell
end if

display dialog Umgebung

Hiermit kann man dem Finder Fenster eine andere Größe und Position zuweisen (Live), je nach Button den man drückt.

Viele Grüße

André
 
Zurück
Oben Unten