2006-10-04
Vim でファイルを保存すると Firefox がリロード OSX 版
OSX, AppleScript, Firefox, Vim
はじめに、TextMate の HowTo ページを参考にして AppleScript をコピって見た。
tell application "Firefox" activate Get URL "JavaScript:window.location.reload();" inside window 1 end tell
ところが・・・「inside window 1」の辺りの指定が誤っているのか、新規のタブを開いてしまい、使い物にならない。
しばらく調べたが、Firefox の AppleScript 実装の情報を見つける事ができず断念。
結局、下記のように「System Events」を使う事にした。
tell application "Firefox"
activate
end tell
tell application "System Events"
if UI elements enabled then
key down command
keystroke "r"
key up command
end if
end tell
面倒な事に「システム環境設定 > ユニバーサルアクセス」の「補助装置を使用可能にする」にチェックを入れないと動作しない。
これを、適当な名前で保存して、osascript コマンドで実行する。
下記は、.vimrc の設定例。
map ,t :w<CR>:!osascript ~/bin/reload_firefox.scpt<CR>
こうしておくと、「,t」で保存しつつ Firefox のリロードとなる。
訂正
シェバン行に osascript を入れられなかったので、下記のようにした。
#!/bin/sh
`osascript << EOS
tell application "Firefox"
activate
end tell
tell application "System Events"
if UI elements enabled then
key down command
keystroke "r"
key up command
end if
end tell
tell application "Terminal"
activate
end tell
EOS`
ついでに、Firefox の更新後に Terminal をアクティブに戻すようにした。
本来であれば、元々アクティブであるアプリケーションの名前を取得し、そこをアクティブにしたのだが・・・方法調査中。
(どなたか識者の方、教えて下さい m(_ _)m)
トラックバック - http://d.hatena.ne.jp/cooldaemon/20061004/1159962255
リンク元
- 2 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLD,GGLD:2005-18,GGLD:ja&q=perl+form+password+解析
- 2 http://www.google.co.jp/search?sourceid=navclient-ff&ie=UTF-8&rls=GGGL,GGGL:2006-28,GGGL:ja&q=Catalyst+Memcached
- 1 http://b.hatena.ne.jp/haru_0329130/zsh/
- 1 http://d.hatena.ne.jp/keyword/vim
- 1 http://del.icio.us/dann?page=3
- 1 http://en.yummy.stripper.jp/?eid=374180
- 1 http://reader.livedoor.com/reader/
- 1 http://www.google.co.jp/ig?hl=ja
- 1 http://www.google.co.jp/search?hl=ja&q=AIX セッション&lr=
- 1 http://www.google.co.jp/search?hl=ja&q=bb-hosts+hobbit&btnG=Google+検索&lr=