"display dialog" immer im vordergrund?

mcnesium

mcnesium

Mitglied
Thread Starter
Dabei seit
09.07.2006
Beiträge
39
Reaktionspunkte
0
ich nutze ein applescript zum automatischen synchronisieren per isync und habe in dem skript auch einen dialog eingebaut, der mich daran erinnert, bluetooth im handy anzuschalten. das skript wird durch einen ical-eintrag gestartet, so dass der dialog zum zeitpunkt des termins aufpoppt und das skript erst ausgeführt wird, wenn ich ok geklickt hab.

manchmal kommt der dialog aber nicht nach vorne. ich habs noch nicht genau rausgefunden, wann das passiert, aber vermutlich dann wenn ich zum zeitpunkt des termins den rechner gar nicht an hab. dann bleibt der dialog hinter all meinen anderen geöffneten fenstern hängen und wird auch in den tagen darauf nicht ausgeführt, solange der dialog nicht wieder geschlossen wird. ich muss erst immer alle fenster nach unten schieben und das dialogfenster suchen, weil es weder im apfel-tab menü noch im expose/missioncontrol zu sehen ist.

darum würde ich gern wissen, ob es einen applescript befehl wie zum beispiel
Code:
display dialog "Bluetooth am Handy anschalten!" [I]keep in focus[/I]
gibt, mit dem ich das fenster permanent im vordergrund halten kann, wie es mit meldungen normalerweise der fall sein sollte. alternativ wäre auch drin, dass sich der dialog wenigstens wie ein normales fenster verhält, dass ich per apfel-tab anwählen kann.
 
Ein »activate« in der Zeile über dem »display dialog« könnte helfen.

Gruß, Jürgen
 
das hebt den dialog beim start der ausführung des skripts an, hält ihn aber leider nicht im vordergrund. :/
 
Sobald du "Ok" geklickt hast gibt es den Dialog nicht mehr, da ist nichts zum in den Vordergrund holen.
Wieso willst Du den überhaupt noch sehen nachdem das Script gestartet worden ist? Wenn Du an einer Art Statusfenster für Dein Programm interessiert bist, kriegst Du das mit einfachem Applescript glaube ich nicht hin.

Ciao
Farid
 
natürlich ist der dialog weg, wenn ich ok klicke. wenn ich aber nicht ok klicke, sondern gerade an was anderem arbeite und dabei im richtigen moment beispielsweise apfel-tab drücke, bleibt es da, ist aber nicht mehr im sichtfeld. da es aber nicht im apfel-tab menü oder in mission control ist, muss ich alle offenen fenster aller programme zur seite schieben, bis ich es wieder finde.

(das problem tritt übrigens nicht auf, wenn das skript manuell gestartet wird. dann ist es mit diesem symbol im apfel-tab menü vorhanden.)
 
Hast Du das Script als Programm gespeichert? In diesem Fall müßte es, sobald es läuft, wie alle anderen Anwendungen im Tab-Menu sichtbar sein.

Ciao
Farid
 
hab ich, liegt im programme-ordner als .app, lässt sich aber in ical bei "skript ausführen" nicht auswählen. das möchte nur .scpt dateien
 
Evtl. kannst du ein .scpt erstellen, das die .app aufruft und in die .app ein "tell application "System Events" to set frontmost of process "MyApp" to true" einbauen.
 
wow, nach knapp drei monaten „ach is jetz egal, dann is das halt so“ und der „später lesen“ getaggten mail in der mailbox hab ich das nun nochmal aufgegriffen, und siehe da: die von olivetti vorgeschlagene methode löst umgeht das problem wunderbar. vielen dank :)
 
Dieser Thread ist zwar schon etwas älter, aber ich hatte das Problem auch und die hier beschriebene Lösung funktioniert nicht (mehr). Daher will ich das aktualisieren, denn andere Suchende möchten das bestimmt auch wissen. ;-)

Ich erzeuge mit einem Applescript in Automator einen Dialog und der ist immer hinter der Applikation. Also muss ich vorher Automator in den Vordergrund holen. Und das geht heute (2019, in Mojave) so (vor dem Dialog einfügen):

tell application "System Events"
tell application process "Automator"
activate
set frontmost to true
end tell
end tell
 
Code:
activate
display dialog ...
sollte eigentlich genügen.
 
Ja, stimmt, das genügt tatsächlich.
 
Das wäre ja die Lösung, wie in #2.
Und hätte mit dem ursprünglichen Problem vermutlich nichts zu tun. :p
 
Code:
tell application "Finder"
   activate
   display dialog ""
end tell
Würde den Finder blockieren solange der Dialog nicht bestätigt wird.
 
Zurück
Oben Unten