Vim Advent Calendar 2013 140日目:gtk 環境だと remote_foreground() がうまく動作しない
この記事は Vim Advent Calendar 2013 140日目の記事になります。
書きたい人募集中ですよ!!
さて、今回はすごくマイナーなネタでも。
[gtk 環境だと remote_foreground() がうまく動作しない]
Vim のマイナーな関数に remote_foreground() というのがあります。
これは任意の Vim をフォアグラウンドに移動させるという関数なのですが手元の Ubuntu 環境だとうまく動作しませんでした。
で、raa さんが見つけてくれたんですがどうやら結構前から gtk 環境で動作しなくなっているみたいです。
上記のメールはもう4年以上前なのでその後進展があったのかわからないのですが『wmctrl を使えばいい』という回避方法が書かれていたので試してみました。
とりあえず、以下のような感じで回避することに。
function! s:remote_foreground(name) if has("gui_gtk") && executable("wmctrl") call system(printf("wmctrl -i -a 0x%x", remote_expr(a:name, "v:windowid"))) else call remote_foreground(a:name) endif endfunction
だいぶ workaround だけどしょうがないかなー。