Monitor-Auflösung ändern?

L

leo-magic

Aktives Mitglied
Thread Starter
Dabei seit
24.12.2004
Beiträge
1.178
Reaktionspunkte
4
Hallo

An meinem iMac ist ein Beamer angeschlossen, dass die Auflösung auf dem Bild stimmt, muss man auch die Auflölsung auf dem iMac ändern. (verschlechtern)

Nun möchte ich nicht die ganze Zeit manuell die Auflösung ändern, könnte man das mit einem Apple-Script lösen? (Automator?)

Es sollte also die Auflösungen des Bildschirms ändern. Das ist alles.

Wie kann ich sowas machen? Hab noch nie was in AppleScript progr. !

Danke, Léo
 
Hmm, wie kann ich denn so ein Apple-Script erstellen? Ich finde keinen Apple-Script Editor oder so...

Und, was muss ich denn eingeben? Wenn ich die gedownloadete Datei öffne, steht dann im terminal: Gefunden: 1 Monitor, aber es sind ja 2, also iMac + Beamer.

Wie kann ich machen, dass es die Moniore so einstellt:
VGA: 1024 x 768, 60 Hz
iMac: 1024 x 640

Danke, Léo
 
Den Editor findest Du unter programme -> apple script -> script editor.
Du kannst aber auch jeden Texteditor nehmen und diesen im apple script Dienstprogramm als Editor definieren.

Der iMac "spiegelt" das Bild, also stellt auf dem Beamer dasselbe dar wie auf dem Monitor. Deswegen hat er nur einen Monitor gefunden.
Wenn Du 2 unabhängige monitore betreiben willst, brauchst Du ein Patch für den iMac.
 
Hallo

Wie soll ich denn die Auflösung für das Script angeben?
Unter "Monitore" bei den Syst.-Einstellungen ist nun nämlich:

VGA: 1024 x 768, 60 Hz
iMac: 1024 x 640

Wie soll ich das machen?

Danke, Léo
 
Hallo

Sonst, kann man das nicht mit einem Apple-Script machen?


Code:
tell application "Finder"
	activate
	open application file "System Preferences.app" of folder "Applications" of startup disk
end tell

Macht logischerweise die Systemeinstellungen auf. Sowei hab ichs geschafft. :D Doch wei kann man die Auflösung ändern?

Danke, Léo
 
...

Hallo leo-magic,

Sonst, kann man das nicht mit einem Apple-Script machen?

Kann man über GUI-Scripting machen. Dazu muss in Systemeinstellungen/Bedienungshilfen der Zugriff auf Hilfsgeräte aktiviert sein.

Code:
tell application "System Preferences"
	set current pane to pane "com.apple.preference.displays"
end tell

tell application "System Events"
	tell process "System Preferences"
		tell table 1 of scroll area of group 1 of tab group 1 of window 1
			select row 2 --Zeile mit der gewünschten Auflösung (800 x600)
		end tell
	end tell
end tell

tell application "System Preferences" to quit

Gruß Andi
 
Hi

In den Systemeinstellungen unter Monitor gehen aber zwei Fenster auf:
iMac, VGA

Wie kann ich das Fenster wählen, indem es die Auflösung ändern soll?

Danke, Léo

(PS: Ist ein Intel-iMac)
 
...

Hallo leo-magic,

statt "... of window 1" trägst Du of window "NamedesMonitorsderinderTitelleistedesFensterssteht" mit Anführungszeichen ein

das müsste gehen...

Gruß Andi
 
Also zB.

of "VGA"

?

Danke, Léo
 
...

Hallo leo-magic,

nein - anstatt der 1 den Namen des Fensters.
also ... of window "VGA"
falls "VGA" über dem Fenster steht...

Gruß Andi
 
Achso. Ok. Wenn ich also beide Auflösungen ändern muss, sollte es also so gehen?

Code:
tell application "System Preferences"
	set current pane to pane "com.apple.preference.displays"
end tell

tell application "System Events"
	tell process "System Preferences"
		tell table 1 of scroll area of group 1 of tab group 1 of window "iMac"
			select row 2
           end tell
             tell table 1 of scroll area of group 1 of tab group 1 of window "VGA"
			select row 3
		end tell
	end tell
end tell

tell application "System Preferences" to quit

Würde das so gehen?

Danke, Léo

PS: Probieren kann ichs gerade nicht. Der Mac mit Beamer sind in der Schule - ich zuhause...
 
...

Hallo leo-magic,

das müsste so funktionieren. Es könnte aber sein, dass ein Dialog geöffnet wird "Die Einstellung wird geändert ... blafasel" mit einer OK-Bestätigung.
Dann müsstest Du ein

click button "OK" of sheet 1 of window "VGA" einfügen.

Un zwar nach dem tell-Block der die Auflösung anspricht.

also

...
select row 3
end tell
click button "OK" of sheet 1 of window "VGA"
end tell
...

Das window für den "iMac" kannst Du auf 1 lassen, falls da auch die Meldung kommt...


Gruß Andi
 
Hallo

Wenn ich das mit dem click button "OK" of sheet 1 of window "VGA" mache, kommt eine Fehlermeldung.
Also: Es kommt immer noch diese Meldung, die man mit OK bestätigen muss, zwei sogar, zuerst eine, die Fragt, ob man die Einstellungen wirklich ändern will, die zweite, ob man es rückgängig machen will...

Léo
 
Ok, hab gerade herausgefunden, dass das nicht geht...
Aber: Es geht, wenn man die "Bildchirmsynchronisation" ausschaltet!

Kann man die Synchronisation ein und ausschalten, mit einem solchen Script?

Danke, Léo
 
...

Hallo leo-magic,

"eine" Fehlermeldung nützt nix. Wie lautet sie? Ich könnt mir vorstellen, dass das Skript schon den button anklicken will, obwohl das sheet noch nicht ganz ausgefahren ist. Das kann bei langsamen Rechnern passieren. Dein iMac sollte aber nicht dazu zählen...

Versuche mal vor die Zeile
click button "OK" of sheet 1 of window "VGA"

ein
delay 1

zu setzen. Dann wartet das Skript eine Sekunde und klickt dann ok.

Mir ist auch noch nicht ganz klar, warum die Meldung überhaupt kommt. Wenn ich nämlich normal klicke, kommt diese Meldung nicht. Passiert auch nicht bei jeder Auflösung.

Jetzt könnte es natürlich auch sein, dass keine Meldung kommt. Es ist also besser den click button "OK" Befehl in einen try-Block zu setzen.

Hier nochmal das Skript - das funktioniert bei mir ohne Probleme:

Code:
tell application "System Preferences"
	set current pane to pane "com.apple.preference.displays"
end tell

tell application "System Events"
	tell process "System Preferences"
		tell table 1 of scroll area of group 1 of tab group 1 of window "formac TFT 2010 AU-1"
			select row 5
		end tell
		--delay 1
		try
			click button "Ok" of sheet 1 of window "formac TFT 2010 AU-1"
		end try
		tell table 1 of scroll area of group 1 of tab group 1 of window "SDM-HS94"
			
			select row 2
		end tell
		--delay 1
		try
			click button "Ok" of sheet 1 of window "SDM-HS94"
		end try
	end tell
end tell

tell application "System Preferences" to quit

um den delay Befehl zu probieren einfach "--" am Anfang der Zeile entfernen...

Gruß Andi
 
...

Hallo leo-magic,

mit synchronisierten Bildschirmen geht das auch nicht. Liegt vermutlich daran, dass Dein Beamer kein 16:9 Format kann sondern nur 4:3. Ob der iMac 4:3 kann weiß ich gar nicht.

Um die Synchronisation auszuschalten:
Code:
click radio button 2 of tab group 1 of window "iMac"
		click checkbox "Bildschirme synchronisieren" of group 1 of tab group 1 of window "iMac"

gleich nach der Zeile:
tell process "System Preferences"

einfügen...

Gruß Andi
 
Zurück
Oben Unten