blog.bouzuya.net

2013-05-29 ibus-bim に向けて(2)

ibus-skk と ibus-anthy と ibus 本体のソースコードリーディング。最新分は Vala で書かれているけど、ぼくは Python でやるつもり。 Python じゃなくて Ruby がやりたいんだけどなあ。うまくやれば Ruby でも書けそうだけど、とりあえずは動くものを目指す。

今日は次のあたりを読む。

  • main.py
  • factory.py
  • engine.py

python main.py で起動してタスクバー(?) のメニューに追加することはできた。ところが、どうもうまくエンジンを起動できない。

main.py はエントリポイント。IBusComponent を作ったり、IBusEngineDesc を登録したり、IBusFactory でエンジン作ったり、main loop の開始をしたり。

factory.py は Signal 受信してエンジン作ったりしてる。はずなんだけど、Signal を受信できていないくさい。

engine.py はキーとかを処理するエンジンの役割だけど、ここまでこれていない。

Signal を受信できていない気がする。そもそも、Signal って何よって感じ。C# における Event ぽいものだとは思うんだけど、GObject というものを継承することで追加している機能ぽい。うまく動かないのはリファレンスと実際に試しているもののバージョンが違うせいのような気もする。

繰り返すけど Python じゃなくて Ruby の勉強がしたいんです。でもその前にこのムカつく IME をどうにかするために、ibus-bim を作る。うむ。

10 min.