5

OS X 10.8 では、マウスを使用せずに Bluetooth をすばやく切り替えるために使用する、きちんとした小さな AppleScript がありました。

10.9 に更新すると、システム環境設定にいくつかの UI 変更が追加されました。とりわけ、Bluetooth をチェックボックスからボタンに切り替える要素を置き換えました。私のスクリプトは壊れており、その結果、私のワークフローも壊れています。

問題は、ボタンの状態に応じて、ボタンの名前が「Bluetooth をオンにする」から「Bluetooth をオフにする」に変わることです。私は回避策を見つけるのに十分なほど AppleScript を理解していません。

4

7 に答える 7

8

これは10.9でうまくいきました:

tell application "System Preferences"
    reveal pane "com.apple.preferences.Bluetooth"
end tell
tell application "System Events" to tell process "System Preferences"
    click button 6 of window 1
end tell
quit application "System Preferences"

blueutilを使用することもできます。

/usr/local/bin/blueutil|grep -q 'Power: 1';/usr/local/bin/blueutil power $?
于 2013-11-03T14:12:17.590 に答える
2

これは 10.15.6 で機能しました。スクリプト 1 (Bluetooth をオフにする) とスクリプト 2 (Bluetooth をオンにする) を実行するソリューションが複雑になりすぎた可能性があります。

スクリプト 1. これは、Bluetooth をオフにするためのものです。

tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 of menu bar 1 where description is "bluetooth")
        click
        click menu item "Turn Bluetooth Off" of menu 1
    end tell
    tell window 1
        click button "Turn Bluetooth Off"
    end tell
end tell

スクリプト 2. これは、Bluetooth をオンにするためのものです。

tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 of menu bar 1 where description is "bluetooth")
        click
        click menu item "Turn Bluetooth On" of menu 1
    end tell
end tell

したがって、スクリプトを次々に実行する 1 つのコマンドを実行します。スリープは、UI を適切に更新するためのものです。

osascript bluetooth_off.scpt && sleep 3s && osascript bluetooth_on.scpt

コマンドをファイルに保存し、次を使用して実行できます (同じディレクトリにある必要があります)。

~ bash <fileName>
于 2020-12-24T13:03:20.930 に答える
0

私のために働いた、青いユーティリティはありません:

tell application "System Preferences"
    reveal pane id "com.apple.preferences.Bluetooth"
    -- activate

    set the current pane to pane id "com.apple.preferences.Bluetooth"

    try
        tell application "System Events" to tell process "System Preferences"
            click button "Turn Bluetooth Off" of window "Bluetooth"

            click button "Turn Bluetooth Off" of sheet 1 of window "Bluetooth" of application process "System Preferences" of application "System Events"
        end tell

        delay 1

    on error
        tell application "System Events" to tell process "System Preferences"
            click button "Turn Bluetooth On" of window "Bluetooth"
            quit
        end tell

    end try

end tell
于 2014-11-09T02:05:25.033 に答える