Takashi Nakamoto
blued****@bpost*****
2006年 12月 8日 (金) 03:05:14 JST
中本です。 独自候補ウィンドウをそこそこ使いもんになる程度に仕上げました。 気になる人はCVS版からダウンロードして試してみてください。 見た目は完全に私の好みで作ったので、こんな風に見た目を設定できるように したら/こういう設定をデフォルトにしたらどうだろうかとかいう意見大募集 中。 今のところ * 候補は縦にしか表示しない * aux_string(「候補 (1/10)」とか表示されるところ)は候補ウィンドウの下 * 色とフォントはSCIMの設定を読み込む (/Panel/Gtk/Color*と/Panel/Gtk/Font) * aux_stringの背景はGtkのデフォルトを使用 * (多分)Gtk+-2.0のバージョンは2.2以上が必要 という感じの仕様になっています。 また、次はMS-IMEみたいに用例とか表示させる機能をつけることを考えています。 まぁ、そういうことができるように独自候補ウィンドウを作ったので、やる気が さめないうちにやってみます。 # 相変わらずximの問題解決しませんが orz Takashi Nakamoto <blued****@bpost*****> wrote: > 中本です。 > > Takashi Nakamoto <blued****@bpost*****> wrote: > > > これを使えば、言語による候補ウィンドウ縦横問題も解決できますし、一部で蔓 > > > 延している?「SCIMでは独自UIを作れない」という誤った認識も払拭できるの > > > で、暇があったらscim-anthyにも独自候補ウィンドウを実装してくれると嬉しい > > > です:) > > > > 1. AnthyInstanceでIMEngineInstanceBaseの*_lookup_tableメソッドと > > *_aux_stringメソッドをオーバライドして、ヘルパーにイベントを投げる > > 2. ヘルパー側で描画する > > > > ってな感じになるのでしょうか。できそうなので、やってみます。来週か再来 > > 週ぐらいに。 > > 作ってみました。大変かと思いきや、数百行程度のコード追加するだけでそこ > そこのものができました。 > > 今のところヘルパーでの描画をさぼって、GtkLabelを使って lookup_table と > aux_string を表示していますが、そのあたりはGdkかPango使ってごりごりや > ればいいだけなので、大変ですができます。やります。 > > けれども、いくつか自己解決できなさそうな問題点があるので、ヘルプお願い > します。 > 1. xim経由で変換する際、プリエディットウィンドウに重なって候補ウィンド > ウが表示される > 2. スクリーンの下端や右端で変換すると、ウィンドウがスクリーンの外には > み出てしまう。 > > 1.はどうしたらいいのか分からないです。scimの仕組みに詳しくないので、ぜ > ひヘルプお願いします。 > > 2.は独自候補ウィンドウでない場合には、プリエディット文字列に重なってで > も無理矢理スクリーン内におさまるようにして候補ウィンドウを表示します。 > しかし、プリエディット文字列に重なってしまうので、あんまり良くないです。 > > そもそも、スクリーンの下端や右端で変換することがないので今まであんまり > 気にはなっていませんでしたが、自分で実装すると気になります。とりあえず、 > プリエディット文字列に重なってでもスクリーン内におさまるように実装して > みますが、もっといい解決策があれば教えてくださいませ。欲しいのはカーソ > ルの直上の座標です。そうすれば、カーソルの直上に候補ウィンドウを表示す > ることができます。 -- 中本 崇志 (Takashi Nakamoto) E-mail: blued****@bpost***** Blog: http://bd.tank.jp/diary/