xfy から applescript を起動する
xfy で音楽再生をさせることを考えていて、applescript をつかうことを思いついた。
まずは、applescript について調べてみた。
xfy から applescript を実行するのはどうするか?
すでに 実験済みの "xfy から 外部コマンドを呼ぶ方法" で
"osxscript foo.scpt" としてコマンド実行するだけで基本的には OK だ.
(コンソールから実行しても同じだ)
AppleScript の例:
$ cat /tmp/filechoose.scpt
tell application "Finder"
activate
choose file with prompt "Select File"
end tell
$ osascript /tmp/filechoose.scpt
alias Macintosh HD:Users:kato:.bashrc$ osascript /tmp/filechoose.scpt
/tmp/filechoose.scpt:37:74: execution error: Finder got an error: User canceled. (-128)
これは、Finder を active にして、FileChooser を開き、
その選択結果を文字列で得るという例だ。
キャンセルボタンを押した場合は、エラーとして処理されるようだ。
選択したフィアルは alias ... という形で得られるようだ。
これを 通常の filePath にする方法が判らないと、xfy ではつかいにくいなぁ。
また、xfy から applescript を呼んだときにFinder が activate になるのはいいが、
ファイル選択ダイアログを使用し終わったあと、
xfy を activate する方法が判らない。
(xfy の画面が他のアプリの後ろに隠れたままになってしまう。
マウス操作して xfy を active にすれば済む話だが、それは面倒だし、不自然だ)
このあたりのことが解決できれば、xfy からの ファイル選択ダイアログには、
OS のFile選択ダイアログをそのまま使えるようになる。
itune や safari も applescript で制御できるので、
音楽/動画再生や、web 閲覧を xfy から制御することも可能だ。
ちなみに itune で音楽演奏する例はこれだ。
$ osascript -e 'tell app "iTunes" to play'
(スクリプトをファイルから読み込ませないで、直接 実行するには -e '....' としてスクリプトを書く)
参考にしたqページは以下。
- http://www.asahi-net.or.jp/~VA5N-OKMT/factory/applescript/sample_code/index.html
> > Applescriptサンプル
- http://www.apple.com/jp/macosx/features/applescript/
> > アップル - Mac OS X - AppleScript
- http://www.ohnaka.jp/wiki/wiki.cgi?page=AppleScript%A4%C7iTunes%A4%F2%C1%E0%BA%EE%A4%B9%A4%EB
> > AppleScriptでiTunesを操作する - Niku3
Mac 限定になってしまうが、Xfy も appleScript で操作が可能になるとよいと思う。
xvcd とは異なるレベルで 各種のアプリケーションと連携しての動作や操作の自動化
が可能になり利用法の幅が大きく広がる気がする。
ちなみに下のスクリンショットは、スクリプトエディタのヘルプの一部。
Finder で使えるものがこんな形で閲覧できる。
xvcd でつかえるコマンドやパラメータもこんな形で閲覧/検索できると便利だな。
(xfy の現状の HTML のヘルプは閲覧/検索が不便。
私は gonzui で xfy の document を全文検索できるようにしてしまっているけど)
« Java言語で学ぶリファクタリング入門 を購入した: 007 | トップページ | Java言語で学ぶリファクタリング入門 を購入した: 008 »
この記事へのコメントは終了しました。
« Java言語で学ぶリファクタリング入門 を購入した: 007 | トップページ | Java言語で学ぶリファクタリング入門 を購入した: 008 »
コメント