AppleScript Doku: welches Prog kann was?

  1. weinford

    weinford Thread Starter MacUser Mitglied

    Mitglied seit:
    24.01.2004
    Beiträge:
    386
    Zustimmungen:
    0
    Hallo allerseits,
    entschuldigt, ich bin ein absoluter Appleskript Novize, aber ich finde die richtige Dokumentation nicht. Ich suche nach einer Liste von Befehlen, die die unterschiedlichen Programme verstehen. Also, "Finder" kann z.B. empty trash, "Mail" kann "compose new" usw... aber wo finde ich eine Liste davon, nach Applikationen sortiert?

    Meine derzeitigen Wünsche sind: ich will ein Skript schreiben, welches meine Netzwerkumgebung ändert (bin schon froh den CLI-Befehl scselect gefunden zu haben, auch nur durch Zufall... vielleicht schreibe ich auch ein bash script...), dann Mail aufruft und nach neuer Mail guckt, sich zu bestimmten SMB- und NFS-Servern verbindet und eventuell noch Programme startet oder beendet (mlnet :p).

    Und, hat einer ne Idee, wie man Scripte an Tastaturkürzel binden kann, oder zumindest "Applikationen" draus macht, so daß man sie mit QuickSilver oder ähnlichem starten kann?

    Vielen Dank!
    Toby
     
  2. weinford

    weinford Thread Starter MacUser Mitglied

    Mitglied seit:
    24.01.2004
    Beiträge:
    386
    Zustimmungen:
    0
    Ach so, und superglücklich wäre ich noch mit einem Skript, das die Einstellung "Kennwort verlangen bei Beenden des Bildschirmschoners oder Ruhezustands" ändern kann, das soll bei mir nämlich auch abhängig von der Netzwerkumgebung sein. Zuhause brauch ich keinen Kennwortschutz.
     
  3. drilly

    drilly MacUser Mitglied

    Mitglied seit:
    17.03.2004
    Beiträge:
    2
    Zustimmungen:
    0
     

    Hi Toby,

    um die Liste von Befehlen zu erhalten, die eine Anwendung unterstützt, ziehe einfach die Anwendung aus dem Finder auf das Icon des Scripteditors im Dock. Ich habe leider noch nicht herausgefunden, wie das beim FInder funktionieren soll.

    Gruß,
    - Bjoern
     
  4. Andi

    Andi MacUser Mitglied

    Mitglied seit:
    16.05.2002
    Beiträge:
    7.639
    Zustimmungen:
    769
  5. weinford

    weinford Thread Starter MacUser Mitglied

    Mitglied seit:
    24.01.2004
    Beiträge:
    386
    Zustimmungen:
    0
    Wow, danke Björn nud Andi! Da hab ich jetzt erstmal ne Menge zu durchforsten =)

    Cheers,
    Toby
     
  6. weinford

    weinford Thread Starter MacUser Mitglied

    Mitglied seit:
    24.01.2004
    Beiträge:
    386
    Zustimmungen:
    0
    Ich habs geschafft. Glücklich bin ich mit der Lösung nicht wirklich, aber es funktioniert erstmal:

    #!/bin/bash
    scselect Hansenet

    startIfNotRunning /Users/baier/cvs/mldonkey/mlnet
    startIfNotRunning /Applications/Internet/Adium.app/Contents/MacOS/Adium

    osascript<<EOF
    tell application "System Preferences"
    activate
    set current pane to pane 24
    end tell

    tell application "System Events"
    tell window "Sicherheit" of process "System Preferences"
    if value of checkbox "Beim Beenden des Ruhezustandes oder Bildschirmschoners
    ein Kennwort verlangen" is 1 then
    click checkbox "Beim Beenden des Ruhezustandes oder Bildschirmschoners
    ein Kennwort verlangen"
    end if
    end tell
    end tell
    tell application "System Preferences"
    quit
    end tell

    tell application "Mail"
    activate
    check for new mail
    end tell
    EOF


    Doof ist, daß ich das panel mit der Nummer anspreche: die panels der Systemsteuerung sind alphabetisch durchnummeriert, so daß ich also die Nummer ändern muß, wenn ich ein Panel hinzufüge, daß alphabetisch vor "Sicherheit" kommt...
    Doof ist auch, daß ich beim Button-Click auf den zeilenumbruch achten mußte... hat echt gedauert, bis ich das gefunden habe. Der UIInspector von Apple hat mir dabei geholfen.

    Ach ja, startIfNotRunning ist eine kleine bash-Funktion, die ich geschrieben habe (poste ich mal hier im passenden Applescript Forum ;)


    function startIfNotRunning() {
    len=`echo $1 | wc -c`
    start=`expr $len - 2`
    end=`expr $len - 1`
    search=`echo $1 | cut -c 1-$start`[`echo $1 | cut -c $end`]
    if ! ps x|grep "$search" >/dev/null 2>&1
    then echo l?uft nicht!
    "$1"&
    fi
    }


    Also vielen Dank nochmal für Eure Hilfe!
    Toby
     
  7. Klacka

    Klacka MacUser Mitglied

    Mitglied seit:
    16.03.2004
    Beiträge:
    8
    Zustimmungen:
    1
    Ich bin Novize in diesem Forum, aber in AppleScript habe ich schon einiges gemacht.

    Im Ablage-Menü "Verzeichnis öffnen" wählen; es erscheinte eine alphabetische Auswahlliste mit allen Programmen, die AppleScript unterstützen, und den sogenannten StandardAdditions.

    Gruß
    Stephan
     
  8. Snow

    Snow MacUser Mitglied

    Mitglied seit:
    24.03.2003
    Beiträge:
    262
    Zustimmungen:
    2
    &nbsp;

    Du kannst die Panels auch mit Namen ansprechen - allerdings sehen die Namen etwas anders aus, als man erwarten würde:

    tell application "System Preferences"
    set current pane to pane "com.apple.preference.security"
    end tell
     
  9. weinford

    weinford Thread Starter MacUser Mitglied

    Mitglied seit:
    24.01.2004
    Beiträge:
    386
    Zustimmungen:
    0
    Ah, viel besser! ich war mir eigentlich sicher, daß ich genau den namen schon mal probiert hatte, aber da gings nicht. Nu gehts, vielen Dank!

    Toby
     
  10. starbuxx

    starbuxx MacUser Mitglied

    Mitglied seit:
    13.04.2003
    Beiträge:
    1.442
    Zustimmungen:
    8
    gruess dich weinford,

    Zu deinem startIfNotRunning Skript:

    Du solltest m.E. ein 'ps ax' verwenden, sonst zeigt dir ps nur Prozesse an, die keine Terminals kontrollieren.

    Aber wieso machst du nicht einfach ein
    ?

    gruesse,
    sbx

    edit: ich hab' jetzt mal die ganze function hingeschrieben, weil deutlicher
     
Die Seite wird geladen...