1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

[AppleScript] Programm starten bei Nutzung eines bestimmten Ordners

Dieses Thema im Forum "AppleScript" wurde erstellt von jack_pott, 29.07.09.

  1. jack_pott

    jack_pott Grahams Jubiläumsapfel

    Dabei seit:
    15.12.07
    Beiträge:
    103
    Salüü,

    ich hab da ein kleines Problem: Ich hab keine Ahnung von AppleScript. Das ist insofern ein Problem, dass ich es gerne hätte, dass ein bestimmtes Programm aufgerufen wird, sobald eine Aktivität innerhalb eines bestimmten Ordners stattfindet - sei es Öffnen, Datei hineinschieben oder Datei löschen/umbenennen etc. Kurz: Ich mach was in Ordner X und Programm Y wird sofort aufgerufen.

    Für Lösungsansätze bin ich sehr dankbar. Insbesondere wenn sie für einen AppleScript-Newbie wie mich verständlich formuliert sind :)

    Besten Dank schonmal,
    - Valentin.
     
  2. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
  3. jack_pott

    jack_pott Grahams Jubiläumsapfel

    Dabei seit:
    15.12.07
    Beiträge:
    103
    Danke.

    Das starten des Programms funktioniert schon perfekt, allerdings beendet es nicht, wenn ich den Ordner schließe.

    Code:
    on adding folder items to this_folder after receiving added_items
    	try
    		run application "[I]APP[/I]"
    	end try
    end adding folder items to
    
    on opening folder this_folder
    	try
    		run application "[I]APP[/I]"
    	end try
    end opening folder
    
    on closing folder window for this_folder
    	tell application "[I]APP[/I]"
    		quit
    	end tell
    end closing folder window for
     
  4. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Überprüfe das mit einem "display alert".
    Vielleicht wird die Methode nicht aufgerufen.

    Viele Grüße
     
  5. jack_pott

    jack_pott Grahams Jubiläumsapfel

    Dabei seit:
    15.12.07
    Beiträge:
    103
    Wird sie :(
    Kann es evtl daran liegen, dass die App oben in der Menüleiste gestartet wird?
     
    #5 jack_pott, 29.07.09
    Zuletzt bearbeitet: 29.07.09
  6. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Ja, wichtige Info. Die kannst Du nicht ansprechen.
    Da müßtest Du Dir die Prozesse geben lassen und beenden.

    Viele Grüße
     
  7. jack_pott

    jack_pott Grahams Jubiläumsapfel

    Dabei seit:
    15.12.07
    Beiträge:
    103
    Kann ich mir die beim Programmstart irgendwie zurückgeben und speichern lassen?
    Oder muss ich da tatsächlich irgendwie die Prozesse mit 'ps ax | grep' ermitteln?
    Andere Vorgehensweisen (du lässt dir ja alles ganz schön aus der Nase ziehen ;) )
     
  8. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Auswendig weiß ich das auch nicht alles.

    Schau Dir mal an:

    Code:
    tell application "System Events"
    	every process
    end tell
    Damit solltest Du Zugriff bekommen.

    Viele Grüße
     
  9. sedna

    sedna Pomme Etrangle

    Dabei seit:
    22.10.08
    Beiträge:
    911
    Hallo jack_pott! :)

    Ich gebe hier meinen Senf eigentlich nur deshalb dazu, um anzumerken, dass es so nicht stimmt, was Little Pixel geschrieben hat.
    Ich kann alle meine Anwendungen, welche in der Menüleiste auftauchen und im Hintergrund laufen ansprechen und beenden.

    Warum das in deinem Fall nicht geht, kann mehrere Gründe haben. Aber da Du ja auch nicht schreibst, um welches "APP" es sich handelt (von wegen aus der Nase ziehen ;) ), ist es mühselig, diese alle zu erläutern. Kann ja sein, dass es keiner kennt ... doch dann kann man sich immer noch überlegen, ob man allgemeinere Hinweise geben möchte.
    Mit Little Pixels Hinweis auf die Prozesse wirst Du aber mit Sicherheit weiterkommen, wobei folgendes Skript die Sache etwas mehr eingrenzt:

    tell application "System Events"
    name of every application process whose background only is true
    end tell
     
  10. LittlePixel

    LittlePixel Strauwalds neue Goldparmäne

    Dabei seit:
    09.07.08
    Beiträge:
    641
    Hallo,

    Nein, da haben wir beide so nicht recht ;)
    Nicht jede/r TrayBar Applikation/Proszess ist erreichbar mit "tell application xy"
    Wir differenzieren nicht zwischen Prozess und Anwendung usw. Deshalb liegen wir beide mit der "global" Aussage nicht ganz richtig.

    Aber wie bereits erwähnt, über die Prozesse lässt sich alles erreichen.
    Wünschenswert ist, dass man den korrekt beendet und nicht killt.

    Viele Grüße
     
  11. sedna

    sedna Pomme Etrangle

    Dabei seit:
    22.10.08
    Beiträge:
    911
    Meine Aussage sollte eigentlich gar nicht global sein, sondern nur das beschreiben, was sich bei mir so in der Menüleiste tummelt :)

    Aber das bringt es auf den Punkt:
    *Grins* :p
     
  12. Rosi-janni

    Rosi-janni Rheinischer Winterrambour

    Dabei seit:
    27.02.07
    Beiträge:
    926
    Also mich interessiert das Thema auch sehr, aber was genau hast Du denn vor??

    Also ich verstehe Ordneraktionen auch nicht *peinlich*. Evtl. hat wer mit Google eine "Beschreibung" die mir es erklären würde, wenn ja dann bitte posten^^


    Wäre für mich auch sehr interessant diese Geschichte hier..
     
  13. jack_pott

    jack_pott Grahams Jubiläumsapfel

    Dabei seit:
    15.12.07
    Beiträge:
    103
    Die APP ist Dropbox. Kurzbeschreibung (frei Hand): Dropbox stellt einen Ordner zur Verfügung, der automatisch mit einem Ordner online (auf einem Server vom Dropbox-Provider) synchronisiert wird. Das ermögtlich zB einen gemeinsamen Ordner mehrerer Rechner - privat und auf der Arbeit wäre eine Möglichkeit.

    Ich bin kein Freund von ungenutzen Hintergrundprozessen, daher wollte ich Dropbox nur starten lassen, wenn ich den Dropbox-Ordner auch wirklich nutze. Also öffne bzw etwas reinschiebe. Das mit dem Öffnen klappt ja - wie erwähnt - so wie es soll. Nur soll Dropbox auch beim Schließen beendet werden. Allerdings verhält es sich da nicht nur mit AppleScript (scheinbar) etwas komplizierter, sondern auch mit der Logik. Denn das App soll ja nur beendet werden, wenn Dropbox (falls es synchronisieren sollte) auch fertig mit allen Arbeiten ist. Ich fürchte, dass die einfachste Lösung eine AppleScript-Unterstützung von Dropbox voraussetzt...

    Trotzdem Danke für eure Hilfen. AppleScript ist scheinbar typisch Apple und ziemlich einfach zu lernen :)
    Schönen Abend noch.
     
    #13 jack_pott, 08.08.09
    Zuletzt bearbeitet: 08.08.09
  14. sedna

    sedna Pomme Etrangle

    Dabei seit:
    22.10.08
    Beiträge:
    911
    Hi jack_pott! :)

    Ok, es geht also um Dropbox.
    Soweit ich weiß, schlummert das mit 0,0 % CPU, wenn inaktiv ...
    Möglich wäre also ein Script, welches in einer Schleife die CPU usage von Dropbox solange abfragt, bis 0 erreicht ist und dann den Prozess beendet.

    Falls AS doch nicht so einfach sein sollte, helfe ich dir gerne weiter :)
     
  15. jack_pott

    jack_pott Grahams Jubiläumsapfel

    Dabei seit:
    15.12.07
    Beiträge:
    103
    Das wäre natürlich ne Möglichkeit. Sobald ich mal wieder ein bisschen Zeit dafür habe, werd ich das mal ausprobieren :)

    Gute Nacht,
    — Valentin.
     

Diese Seite empfehlen