Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>AppleScript Guru gefragt

AppleScript Guru gefragt

Crawtona
Crawtona20.07.0411:23
Hi,

ich möchte per Apple-Script die aktuelle URL in Safari ausgeben lassen....

tell application "Safari"
set url_list to URL of every document
end tell

So, das geht ja schon recht gut. Wie kann ich vor der Ausgabe prüfen, ob Safari läuft, und, falls es nicht laufen sollte, einfach nichts tun.

Die Ausgabe erfolgt mit GeekTools und wird auf dem Schreibtisch angezeigt.

Das Problem derzeit ist, dass, falls Safari nicht läuft, es automatisch gestartet wird, und genau das will ich nicht.

„Snowboarden ist besser!“
0

Kommentare

Michael Schmidt
Michael Schmidt20.07.0411:43
Hi, Crawtona!
Zwei Möglichkeiten gibt es hierzu in Applescript:
- per do shell script
- per System Events

Viel Spaß damit :-):-):-)

ShooTerKo



display dialog AppIsRunning("Safari")
display dialog appTest("Safari")

on AppIsRunning(appToTest)
-- benutzt die Unix-Shell zum Testen, ob ein Prozess läuft
set appTest to ""
try
set appTest to do shell script "ps -auxww | grep " & appToTest & " | grep -v grep"
end try
if appTest = "" then
return false
else
return true
end if
end AppIsRunning

on appTest(appToTest)
-- benutzt die System Events
tell application "System Events"
return (exists process appToTest)
end tell
end appTest
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
0
Crawtona
Crawtona20.07.0414:16
und wie krieg ich das Ding jetzt dazu, mir das auszugeben, was ich will und nicht nur true oder false???
„Snowboarden ist besser!“
0
Michael Schmidt
Michael Schmidt20.07.0414:23
Ach so

-----------------------------------------------

Variante 1:

if appTest("Safari") then
tell application "Safari"
set url_list to URL of every document
end tell
end if

on appTest(appToTest)
-- benutzt die System Events
tell application "System Events"
return (exists process appToTest)
end tell
end appTest

-----------------------------------------------

Variante 2:

if AppIsRunning("Safari") then
tell application "Safari"
set url_list to URL of every document
end tell
end if

on AppIsRunning(appToTest)
-- benutzt die Unix-Shell zum Testen, ob ein Prozess läuft
set appTest to ""
try
set appTest to do shell script "ps -auxww | grep " & appToTest & " | grep -v grep"
end try
if appTest = "" then
return false
else
return true
end if
end AppIsRunning

-----------------------------------------------

Für den Script Editor wird Safari trotzdem gestartet, um die Syntax zwischen den tell und end tell zu prüfen. Als Programm gespeichert dürfte dies nicht mehr der Fall sein.

Gruß,
Michael Schmidt
Hamburg
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
0
al(at)kigg20.07.0414:59
Genau das selbe Problem hatte ich vor rund zwei Wochen auch

Hab dann in irgend nem anderen Forum diese Lösung gefunden.

Ich werd jetzt auch mal das mit der Unix Shell testen, da es bei mir zur Zeit so ist das immer wenn mein script ausgeführt wird und ich alle Fenster mittels Expose ausgeblendet hab, alle Fenster wieder eingeblendet werden.
thx @ Michael Schmidt
0
Crawtona
Crawtona20.07.0415:08
cool, vielen Dank....

hast du gute Resourcen für AppleScript?
„Snowboarden ist besser!“
0
Michael Schmidt
Michael Schmidt20.07.0416:03
Klaro!

Apples Mailing-Liste:
<http://www.lists.apple.com/mailman/listinfo/applescript-users>
Dort anmelden oder Archiv nutzen.
Dort sind auch User unterwegs, die Applescript selber bei Apple entwickeln und so einige Koryphäen auf dem Gebiet.

Scripting Additions:
<http://www.osaxen.com/index.php>

Gute deutsche Seite, auch zum Applescript lernen und mit kleinem Forum:
<http://fischer-bayern.de/applescript/>

Bücher gibt es auch gute, hier habe ich aber nur "veraltete". Schau mal bei Amazon. Ein Buch, das ich auf jeden Fall holen werde, ist AppleScript 1-2-3
von Sal Soghoian (der den Automator vorgestellt hat). Genialer Applescripter und bestimmt super, das Buch!

Sonst immer Demoscripte von Programmen angucken und versuchen, sie zu verstehen. Man lernt enorm!

CU
Michael Schmidt
Hamburg
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
0
Michael Schmidt
Michael Schmidt20.07.0416:11
Michael Schmidt

Gute deutsche Seite, auch zum Applescript lernen und mit kleinem Forum:
<http://fischer-bayern.de/applescript/>

2. Versuch:
Irgendwie hat er meinen Link verschluckt:
<http://www.fischer-bayern.de/applescript/>
Wahrscheinlich müssen Link nicht nur mit http:// sondern auch mit http://www. beginnen.

CU
Michael Schmidt
Hamburg
„Trautman: "Er wird kommen und er wird mich hier rausholen." Russischer Offizier: "Was, glaubt dieser Mann, wer er ist? Gott?" Trautman: "Nein, Gott kennt Gnade!"“
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.