ibus.el version 0.3.0 リリース

ダウンロードはこちらでどうぞ↓
ibus.el - irie @ ウィキ - アットウィキ
または
ibus.el in Launchpad
LaunchpadのPPAにdebパッケージが置いてあります。
https://launchpad.net/~irie/+archive/elisp

Version 0.2.1からの変更点

  • surrounding text に対応
  • オプション `ibus-candidate-window-h-offset' を追加
  • オプション `ibus-prediction-window-h-offset' を追加
  • コマンド `ibus-enable-specified-engine' を追加
  • IBus のバージョン 1.3.8 以降で、ibus-prediction-window-position=0 の設定がミニバッファ内でも有効になるように変更
  • 太さ 0 のアンダーラインを表示するように変更
  • `table-insert'で作成した表が、プリエディットが異常終了した場合に壊れる可能性がある問題を修正
  • m17n 等のいくつかのエンジンでプリエディットが異常終了してしまう事がある問題を修正
  • Ubuntu の Unity desktop 上で、get_input_focus() がしばしば誤ってルートウィンドウを返すために入力フォーカスが検出できない問題を修正
  • auto-fill-mode が動作しない不具合を修正 (LP #784452)
  • StumpWM で入力フォーカスの状態が正常に取得できない不具合を修正 (LP #856358)

今回のメインは surrounding text への対応です。IBus 1.4.0 以降及び Mozc 1.3.911.102 以降で再変換機能が使えるようになります。ただし、Mozc 1.3.911.102 にはバグがあり、IBus をオンにした後の初回の再変換が開始されません(Mozc issue 107)ので、再変換をまともに使いたい場合は、Mozc のバージョンを 1.3.931.102 以降にして下さい。Mozc 以外では、ibus-m17n の surrounding text を必要とするいくつかのエンジンもたぶん正常に使えると思います。たぶん。

新しいオプション `ibus-candidate-window-h-offset' と `ibus-prediction-window-h-offset' は、候補ウインドウの表示位置を水平方向に調節するためのものです。標準の状態では、ウインドウ内の変換候補の文字列がカーソル位置よりもかなり右方向に離れて表示されて見づらいので、位置を調節するためのオプションを作ってみました。私の環境では ~/.emacs で以下のように設定しています。

;; 候補ウインドウを左へ57ピクセルずらして表示
(setq ibus-candidate-window-h-offset -57)
;; 予測ウインドウを左へ50ピクセルずらして表示
(setq ibus-prediction-window-h-offset -50)

新しいコマンド `ibus-enable-specified-engine' は、指定したエンジンで IBus をオンにするものです。ibus-mode では Emacs Lisp の制約から shift + alt でエンジンの切り替えができないため、代替の手段として用意しました。M-x ibus-enable-specified-engine とタイプすると、ミニバッファでエンジン名を聞いてきますので入力してください。エンジン名は TAB キーで補完できます。

オプション `ibus-prediction-window-position' を0にしている場合(これがデフォルトの設定)、予測ウインドウをプリエディットの先頭位置に表示しますが、以前のIBusのバージョンでは画面下方ではこのウインドウがプリエディットを隠してしまうため、ミニバッファ内ではこの設定が無効になるようにしていました。IBus 1.3.8 以降ならば、このような場合に予測ウインドウがプリエディットの上側に表示されるようになったため、ミニバッファ内でもプリエディットの先頭に候補ウインドウを表示します。ちなみに `ibus-prediction-window-position' を t にすると、他のアプリケーションと同様に予測ウインドウがカーソル位置に表示されます。

Ubuntu の Unity desktop を使っていると、ワークスペースを切り替えた時などに入力フォーカスがデタラメな挙動をするため、Emacs 上の ibus-mode だけでなく、他の色々なアプリケーションで問題が起こるようです。これは Unity 側で修正してもらいたいのですが、とりあえずまともに動くようにしました。

その他の変更は、ibus-m17n で動作テスト中に気付いた問題を修正するためのもので、日本語のエンジンの動作にはほとんど影響ないと思います。