Hiroyuki Komatsu
komat****@taiya*****
2005年 3月 9日 (水) 13:40:56 JST
At Wed, 9 Mar 2005 03:14:45 +0900, TOKUNAGA Hiroyuki wrote: > > uim-pref で、候補ウインドウの表示位置を「編集領域の右端」または > > 「編集領域の左端」にすると、プリエディションの右端・左端に > > なるのではなく、アプリケーションのテキストエリアの右端・左端に > > 表示されてしまいます。(<http://taiyaki.org/tmp/preedition.png> > > > > プリエディションの右端・左端に表示されるようにしていただけません > > でしょうか。 > > これは明らかにバグなんですが、GTK+の仕様と現状のコードからして、ちょっ > と修正に時間がかかりそうです。 > > そもそもGTK+はキャレットの座標しか教えてくれないので、プリエディットエ > リアの左端の座標はまともなやり方では取得できません。以前は「プリエディッ > トの長さが0の場合の座標」を記憶しておいて、それを左端の座標としていたの > ですが、何時の間にコードが変わったのかな。現在のコードだとどこに値を保存 > しておくべきか、ちょっと悩みます。 > > あと、新たなやり方として「一度キャレットをプリエディットの左端(右端)に > 設定してキャレットの座標を取得してからまた元の位置にキャレットを設定しな > おす」という方法を思い付きましたが、これにはさすがにアレすぎますね。 > > とにかく、修正にはちょっと考える時間が必要と言うことで、よろしくお願い > します。0.4.7までにはどうにかします。 よろしくお願いいたします。 PRIME のユーザインタフェースが特殊であるのは重々承知しているのですが、 特に候補ウインドウ関連では、PRIME のことにも配慮していただけると 幸いです。 > > また、候補ウインドウの表示位置を動的に変更したいので、scheme 側から > > 候補ウインドウの位置を制御できるようにしていただけないでしょうか。 > > これはScheme側のAPIの変更(追加?)を必要とするので、0.6までの課題という > ことで。 (im-locate-candidate-selector context) などとして、位置を指定できるとうれしいです。こんな感じで: (im-pushback-preedit context 'preedit-underline "僕の") (im-locate-candidate-selector context) (im-pushback-preedit context 'preedit-reverse "名前は") (im-pushback-preedit context 'preedit-cursor "") (im-pushback-preedit context 'preedit-underline "中野じゃない") -- 小松弘幸 ----------------------- http://taiyaki.org/