Bluetooth verbinden per AS über System Events

franc

Gala
Registriert
25.01.09
Beiträge
50
Hallo
ich habe einen Bluetooth Adapter für die Anlage, mit dem verbindet sich mein MacBook Pro Mid 2009 mit EC nicht automatisch. Daher habe ich so ein Applescript abgekupfert, siehe meinen Beitrag auf macuser.
Das funktioniert zwar, also per Tastenkombination (mit Spark) klappt sofort das BT-Menü von der Systemleiste runter, aber danach dauert es einige Sekunden bis dann mein PhilipsBT ausgewählt wird. Das 'Verbinden' geht dann wieder ganz schnell.
Hier noch mal das Skript:
Code:
activate application "SystemUIServer"
tell application "System Events"
    tell process "SystemUIServer"
        -- Funktionierendes CONNECT Script.  Läuft durch folgende Befehle:
        -- Klickt auf Bluetooth Menu (OSX Menüleiste ganz oben)
        --    => Klickt auf das PhilipsBT Objekt
        --      => Klickt auf das Verbinden Objekt
        set btMenu to (menu bar item 1 of menu bar 1 whose description contains "bluetooth")
        tell btMenu
            click
            tell (menu item "PhilipsBT" of menu 1)
                click
                if exists menu item "Verbinden" of menu 1 then
                    click menu item "Verbinden" of menu 1
                    return "Verbindet..."
                else
                    click btMenu -- Close main BT drop down if Connect wasn't present
                    return "Verbinden-Menü wurde nicht gefunden, schon verbunden?"
                end if
            end tell
        end tell
    end tell
end tell

Kann mir jemand einen Trick verraten, wie man die Auswahl im heruntergeklappten Menu erheblich beschleunigen kann?
Ist das vielleicht nicht zu ändern?

Danke

franc

PS.: ich hab das jetzt hier im Forum gefragt, weil es im macuser Forum keine Applescript Unterabteilung gibt.

EDIT: Mist, ich hab im macuser Forum übersehen, dass es doch eine AS Unterabteilung gibt :(
Hätte ich auch dort nachfragen können. Zu spät, kann das hier anscheinend nicht mehr löschen.
Ich hatte dort nach AppleScript gesucht, bin aber immer im MacOS Unterforum gelandet, statt in Scripting und Automatisierung, daher dachte ich das.
 

franc

Gala
Registriert
25.01.09
Beiträge
50
Scheint definitiv nicht zu gehen, wie man anderen Posts entnehmen kann.

Sobald der click (nach dem tell btMenu) erfolgt, bleibt das Skript stehen, vermutlich vom System gestoppt und macht eine fiese Kunstpause von ca. 6 Sekunden.

Auch mit cliclick geht es nicht, ein per AS ausgeführtes:
Code:
do shell script "/opt/local/bin/cliclick c:810,10"
öffnet das BT-Menü gar nicht. Übrigens auch kein anderes Symbolleistenmenü (LSP, Uhr etc.), das scheint von OSX geblockt zu werden und nur mit der physikalischen Maus möglich zu sein, der Klick.

EDIT: falsch, nicht der Klick mit cliclick wird geblockt, sondern der Klick durch AppleScript. Rufe ich cliclick über das Terminal auf oder auch über ein Shellscript, dann wird es ausgeführt. Ich habe somit ein Skript philipsbt.sh erstellt:
Code:
#!/bin/bash
/opt/local/bin/cliclick c:810,10 kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-down kp:arrow-right kp:return
Ausführbar gemacht und das kann ich jetzt per Spark (per Tastenkombination) ausführen.
Das ist zwar sehr pfuschig, weil die Reihenfolge sich jederzeit ändern kann und dann die Anzahl der Klick-Nach-Unten nicht mehr stimmen könnte, aber es ist sehr viel schneller als das blöde AS über die SystemUIServer Geschichte.
 
Zuletzt bearbeitet: