Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Dieses schöne kleine AppleScript funktioniert leider nicht...

Dieses schöne kleine AppleScript funktioniert leider nicht...

fadenschein10.02.1411:34
Es soll die Größe des Mauszeigers togglen.
(Die Größe kann man in den 'Bedienungshilfen' über einen Schieberegler verändern).

Um es zum Laufen zu bringen, habe ich versucht die Begriffe des Originalscripts ins Deutsche zu übersetzen. Das hat aber auch nichts gebracht.

Quelle:


tell application "System Preferences"
reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
end tell
tell application "System Events"
set theSlider to slider "Cursor Size:" of group 1 of window 1 of application process "System Preferences"
set stash to value of theSlider
if value of theSlider is 1.0 then
set value of theSlider to 4.0
else
set value of theSlider to 1.0
end if
stash
end tell
0

Kommentare

zephirus
zephirus10.02.1411:58
Ersetze mal 'slider "Cursor Size:"' mit 'slider 2‘, dann sollte es gehen…

tell application "System Preferences"
    reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
end tell
tell application "System Events"
    set theSlider to slider 2 of group 1 of window 1 of application process "System Preferences"
    set stash to value of theSlider
    if value of theSlider is 1.0 then
        set value of theSlider to 4.0
    else
        set value of theSlider to 1.0
    end if
    stash
end tell
0
fadenschein10.02.1413:40
@zephirus
Danke, habe ich gleich ausprobiert.
AppleScript gibt folgenden Fehler aus:

„System Events“ hat einen Fehler erhalten: „slider 2 of group 1 of window 1 of application process "System Preferences"“ kann nicht gelesen werden. Ungültiger Index.

Noch eine weitere Idee?
Liegt's am System? Ich hab' 10.9
0
zephirus
zephirus10.02.1414:02
Ich hab es mal bei mir versucht, da funktioniert es ganz gut…
Allerdings unter 10.8.5…
Da ich kein Mavericks zur Verfügung hab bin ich ratlos…
Leider...
0
fadenschein10.02.1414:36
Ich habe das Script auch auf einem 10.7.5 Rechner probiert.
Es bricht mit der gleichen Fehlermeldung ab.


Hast Du ein deutsches oder ein englisches System?
0
zephirus
zephirus10.02.1414:48
Ein deutsches System…
Für die Syntax in Applescript dürfte dies, denk ich, so oder so keine Rolle spielen…
Nachdem ich meist als Admin angemeldet bin - vielleicht liegt es evtl daran, sprich das System verhindert das Steuern vom Rechner über Skripte?
0
fadenschein10.02.1415:18
Ich bin auch als Admin angemeldet.
An der Sprache kann's auch nicht liegen. Die habe ich gerade temporär geändert, aber es hat auch nicht geholfen.
0
Thomas Kaiser
Thomas Kaiser10.02.1415:21
zephirus
Ein deutsches System…
Für die Syntax in Applescript dürfte dies, denk ich, so oder so keine Rolle spielen…

Ist auch bzgl. Verben generell so, dito so lange man auf Objekte nicht per "localized name" zugreifen will. Legendäre Ausnahme vor halben Ewigkeiten: Excel. Microsoft Deutschland hat bei der Lokalisierung aus Versehen auch das komplette AppleScript-Funktionsverzeichnis mit übersetzt
zephirus
Nachdem ich meist als Admin angemeldet bin - vielleicht liegt es evtl daran, sprich das System verhindert das Steuern vom Rechner über Skripte?

Nö, hier unter 10.8.5 jedenfalls nicht. Und unter 10.9.1 krieg ich identische Fehlermeldung. Tante Google zeigt bspw. nach , wenn sie nach »mavericks+applescript+slider« befragt
0
zephirus
zephirus10.02.1417:14
Hm, mysteriös…
Konnte es jetzt auch auf Mavericks testen - hier hab ich auch die gleiche Fehlermeldung…
Hier kann man das Ganze mal (in übler Qualität) ansehen wie es funktioniert (dropbox.com)

Was merkwürdig ist - unter Mavericks mokiert der Scripteditor sich über den Begriff 'slider'. Bis zum Öffnen der Voreinstellungskarte und der 'Anzeige' Auswahl läuft das Skript zumindest, die Auswahl des sliders und die Zuweisung eines Wertes scheint, warum auch immer, das Problem zu sein…

Relativ Ratlos...
0
Thomas Kaiser
Thomas Kaiser10.02.1417:44
zephirus
Konnte es jetzt auch auf Mavericks testen - hier hab ich auch die gleiche Fehlermeldung…

Wär ich schon auf 10.9, würd ich jetzt schnell Script Debugger in Stellung bringen und das Rätsel lösen (ich hab vor Jahren fast geheult als ich das erste mal damit AS-fähige Programme befummelt habe angesichts der vielen verschwendeten Lebenszeit vorher). Sollte ich in absehbarer Zeit auf Mavericks gehen und drandenken, meld ich mich nochmal. So isses mir zu mühsam
0
Joe12
Joe1210.02.1420:21
Das "group of 1" war zu viel. Der Englische name funktioniert auch nicht.
tell application "System Preferences"
    activate
    reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
end tell
tell application "System Events"
    --set theSlider to slider "Auswahlgröße:" of window 1 of application process "System Preferences"
    set theSlider to slider 2 of window 1 of application process "System Preferences"
    set stash to value of theSlider
    if value of theSlider is 1.0 then
        set value of theSlider to 4.0
    else
        set value of theSlider to 1.0
    end if
    stash
end tell
tell application "System Preferences" to quit
0
zephirus
zephirus10.02.1421:02
Joe12

Cool!

Hab in der Zwischenzeit noch das hier zusammengeschustert
tell application "System Preferences"
    reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
end tell
tell application "System Events"
    set theSlider to slider 2 of window 1 of application process "System Preferences"
    
    set stash to value of theSlider
    if value of theSlider is 1.0 then
        set value of theSlider to 4.0
    else
        set value of theSlider to 1.0
    end if
    stash
    
    
end tell

Seltsamerweise spinnt das Skript beim Öffnen der Systemeinstellungen manchmal (für mich nicht nachvollziehbar)…Wenn sie aber mal ne Zeitlang offen sind funktioniert es…
0
fadenschein10.02.1421:13
@Joe12

Ich bin begeistert - fantastisch - vielen Dank!
0
Joe12
Joe1210.02.1421:52
zephirus
Seltsamerweise spinnt das Skript beim Öffnen der Systemeinstellungen manchmal (für mich nicht nachvollziehbar)…Wenn sie aber mal ne Zeitlang offen sind funktioniert es…
Ich habe bei mir ein "activate" eingebaut denn falls das Fenster nicht im Vordergrund ist funktioniert der rest nicht.
0
zephirus
zephirus10.02.1422:02
Ah…Jetzt hab ich es auch gesehen - Danke!
0
fadenschein10.02.1422:03
Weiß denn jemand, wie ich so ein Script als "Service", also Dienst speichern kann?

In 10.8 hatte ich mal ein AppleScript, das ich nur unter Library/Services ablegen musste.
Das erschien dann überall im Dienste Menü.
Leider klappt das unter 10.9 nicht mehr.
0
Joe12
Joe1210.02.1422:10
fadenschein
Weiß denn jemand, wie ich so ein Script als "Service", also Dienst speichern kann?

In 10.8 hatte ich mal ein AppleScript, das ich nur unter Library/Services ablegen musste.
Das erschien dann überall im Dienste Menü.
Leider klappt das unter 10.9 nicht mehr.
Im Automator kann man Dienste erstellen. Da dann die Aktion "AppleScript ausführen" auswählen und das Script rein kopieren. Dann mit +S speichern.
0
fadenschein10.02.1422:18
@Joe12
Danke. Funktioniert.
0
zephirus
zephirus11.02.1411:05
Thomas

OffTopic
Script Debugger ist ja nun mal ein Programm - Wow! Insbesondere das Dictionary...
Das kannte ich (seltsamerweise) nicht - Wenn ich das vor zehn Jahren, als ich mich noch mit dieser Materie beschäftigt hab, gekannt hätte…

Danke!
0
Thomas Kaiser
Thomas Kaiser11.02.1412:01
zephirus
OffTopic
Script Debugger ist ja nun mal ein Programm - Wow! Insbesondere das Dictionary...
Das kannte ich (seltsamerweise) nicht - Wenn ich das vor zehn Jahren, als ich mich noch mit dieser Materie beschäftigt hab, gekannt hätte…

Neben dem, was man damit am Sinnigsten macht -- Debugging -- fand ich das Tool, das einem ermöglicht, live im anzusprechenden Programm herumzuklicken und parallel in Script Debugger anhand des Objektmodells zu sehen, "wo" man sich gerade befindet, einfach nur Gold wert -- grad bei Programmen mit komplexen Dictionaries wie bspw. InDesign oder auch Quark.

Als ich da das erste mal rumgeklickt habe, dann überschlagen habe, wieviel Lebenszeit ich vorher durchs Ansprechen der falschen Objekte schon vertan hatte, hab ich erst zaghaft in die Tischkante gebissen, dann nochmal und und nochmal und dann die ganze Tischplatte aufgefressen

Ich kam IIRC mit System 7.1 zum Mac, jedenfalls gab's da schon AppleScript und ich hab mich da sofort draufgestürzt. Und bin demzufolge auch viel zu spät erst auf LateNights tolles Tool gestoßen. Demzufolge der unvermeidliche Werdegang des ambitionierten Automatisierers eingetreten
0

Kommentieren

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