Bei Start von Safari Auflösung ändern

Nielz

Aktives Mitglied
Thread Starter
Dabei seit
20.10.2007
Beiträge
171
Reaktionspunkte
2
Hallo liebe Macuser,

wie der Titel schon sagt möchte ich gerne die Auflösung ändern sobald ich Safari starte.

Folgende Situation:
Ich sitz im Wohnzimmer und möchte gern mit meiner Logitech Dinovo Mini ein bisschen auf meinem Mini (Mediacenter) surfen. Nun soll beim Start von Safari die Auflösung geändert werden so dass ich es von Weitem besser lesen kann und beim Beenden wieder in die normale Auflösung zurück gehen.

Hat da vielleicht jemand eine Idee wie ich das mit AppleScript lösen kann ?

Freue mich auf eure Vorschläge...

MfG, Nielz
 
So, ich glaub ich habs:

on run

do shell script "/users/nielzzz/desktop/cscreen"
set screenResolution to the result

repeat

if application "Safari" is running then
do shell script "/users/nielzzz/desktop/cscreen -x 800 -y 600 "
end if

if application "Safari" is not running then
do shell script "/users/nielzzz/desktop/cscreen -x 1440 -y 900 "
end if

end repeat

end run

das Script funktioniert zwar, lässt allerdings meine CPU ganz schön losackern... warscheinlich weil er immer wieder cscreen ausführt ?

Wie kann ich erreichen, dass es nur läuft wenns gebraucht wird ? :D

Danke um Vorraus, Nielz
 
wiso stellst du in safari nicht einfach die mindest schriftgröße hoch ? dann kannst du´s auch besser lesen
 
weil dann Bilder etc nicht mit vergrößert werden oder ?

Das navigieren in Safari ist dann generell einfacher von weitem.
 
Das Script funktioniert an sich?
Schön.
Die Schleife läuft mit Höchstgeschwindigkeit. Du könntest eine Pause einbauen, damit zb nur alle 30 Sekunden einmal die Schleife läuft. Das reicht doch wohl auch.
 
naja, ich wollte es eigentlich so haben, dass es wirklich nur passiert wenn ich safari starte bzw beende...

nun ist es ja so dass er immer wieder das shell skript ausführt...
ein delay würde ja bedeuten, dass er dann beim starten von safari die Auflösung erst ändert wenn das delay abgelaufen ist.
 
Bei Firefox wird die ganze Seite (mit Bildern, Text und Formatierunge vergroessert). Probier mal das.
 
das ändert doch aber nichts daran, dass alles andere klein bleibt !?
was bringt es mir wenn die Seite zwar lesbar ist, aber ich nicht sehen kann welche URL ich eingebe bzw wie ide Tabs heissen etc.
 
Hat keiner ne Idee wie man das script ändern könnte ?
 
Wie in einem anderen Beitrag schon bemerkt, arbeitest Du im Moment mit einer Endlosschleife, und das kostet.
Alternativen:
a) eine Pause im Script (delay)
b) eleganter: ein on idle handler
c) Du startest (und beendest) Safari direkt mit Deinem Script und wechselst dann die Monitorauflösung, so ersparst Du Dir die ständige Kontrolle, ob Safari aktuell läuft

Ciao
Farid
 
Variante b hört sich interessant an :)
wie genau geht das ?

Gruß, nielz
 
Das Script wird als Programm gespeichert. Wichtig: die Option "Stay open" muß beim speichern aktiviert werden.
Beim Programmstart wird dann ein Loop aufgerufen, der in von Dir zu definierenden Abständen aufgerufen wird:
PHP:
on idle
set t to time of (current date) as text
display dialog t
return 60 -- Sekunden
end idle
Obiges Beispiel sagt Dir alle 60 Sekunden wie spät es ist.
Statt 60 kannst Du natürlich ein beliebiges Zeitintervall benutzen.
Auf diese Weise bleibt das Script ständig in stand-by, aber der Prozessor wird nur alle 60 Sekunden in Anspruch genommen.

Siehe auch hier.


Good scripting
Farid
 
Er sollte verhindern das in der Schleife permanent cscreen ausgeführt wird, z.b. indem er prüft ob "safari nicht läuft und auflösung schon korrekt ist".

Ich halte Vorschlag c.) von chefabrid am besten.
 
Hat das mit den 60 sekunden nicht zur folge, dass im blödesten Fall die auflösung erst 59 sekunden nach start von safari geändert wird?!
Das ist nicht so optimal. Variante c hört sich schon besser an, aber wie beende ich safari mit dem selben skript?
 
Genau das möchte ich ja eben nicht :)
lässt sich das event "safari starten" oder "safari beenden" nicht irgendwie gezielter ansprechen so dass das permanente abfragen des status ausbleibt?

Gruß, Nielz
 
Eine Anwendung starten/beenden gehört zu den absoluten "AppleScript Basics", das kriegst Du mit 10 Sekunden googlen raus ;)

Ciao
Farid
 
Zurück
Oben Unten