私がしていること
画面の解像度をチェックするシェルスクリプトを定期的に実行しています。これに基づいて、別のアプリケーション (ギーク ツール) の可視性を基本的に変更する 2 つの Apple スクリプトのいずれかを実行します。
私の問題
りんごの皮はそれ自体で問題なく動きます。osascript が Apple スクリプトを呼び出す方法であることを理解しています。直接実行しようとすると、「バイナリ ファイルを実行できません」と表示されるためです。ただし、使用するosascript $Home/path/smallscreen.scpt
と新しいエラーが発生します。
osascript[61390:1405791] Error loading /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: dlopen(/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found.
Did find: /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper
osascript: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/Adobe Unit Types.osax" declares no loadable handlers.
たぶん私は何かを誤解しているだけかもしれませんが、この回答の一番下からスクリプトを実行するのは簡単だと思いました: https://stackoverflow.com/a/16071855/2522073
このようにAppleスクリプトを実行できると主張する
osascript /Users/USERNAME/Desktop/foo.scpt
シェルコード:
rez=$(xdpyinfo | grep dimensions | awk '{print $2}' | awk -Fx '{print $1, $2}')
echo $rez> $HOME/Documents/Geeklets/Displays_temp.txt
rezold=`grep -s . $HOME/Documents/Geeklets/Displays_temp.txt`
if [ "$rezold" != "$rez" ]; then
if [ "$rez" == "1280 777" ]; then
osascript /Users/coolguy/Documents/Geeklets/smallscreen.scpt
else
$HOME/Scripts/Geeklets/largescreen.scpt
fi
fi
私のAppleスクリプト:
tell application "GeekTool Helper"
set smallGroup to group "small"
set largeGroup to group "large"
set defultGroup to group "Default Group"
set visible of smallGroup to true
set visible of largeGroup to false
set visible of defultGroup to true
end tell
これをMac 10.10.3で実行しています