Hiroyuki Komatsu
komat****@taiya*****
2004年 7月 21日 (水) 18:04:23 JST
小松です。 uim-prime をいじっていますが、いくつかの点で、はまっています。 現状の prime.scm を <http://taiyaki.org/tmp/prime-2004-07-21.scm> に置きましたので、なにかしらヒントをいただけると助かります。 ■複数フォームでのプリエディションの不具合 WEBブラウザなど複数のフォームがある環境で、フォームのフォーカスを 移すと、プリエディションの文字列が逐次確定されてしまうように なってしまいました。具体的には以下の通りです。 フォームA, フォームB とあった場合に、フォームA で入力したあと、 フォームB にフォーカスを移して "abc" と入力すると 入力文字 確定文字列 全体の確定 a a a b ab aab c abc aababc というように、プリエディションを通り越して、"aababc" がいきなり 出力されてしまいます。 どうも、関数 prime-update-preedit での im-update-preedit を実行する タイミングで、この確定が起こっているようです。 im-update-preedit を実行すると、プリエディション文字列の確定が起こるという ことはありうるのでしょうか。また、ありうるとして、どのような場面でそうなる のでしょうか。 ■ (prime-context-set-candidate-window! sc #f) の意味 オリジナルの prime.scm に (prime-context-set-candidate-window! sc #f) ;FIXME:very dirty hack というコードを散見しますが、これはどういう意味なのでしょうか? ■候補ウインドウのカーソル位置への追従 これは、以前伺った内容と同じものです。まとめておきます。 どこかを間違えていじってしまったようで、候補ウインドウがカーソル位置 に追従してくれなくなってしまいました。候補ウインドウをカーソル位置に 追従させるにはどのようにすればよいのでしょうか? 具体的には 入力1 (あかい) → 変換1 (赤い) → 入力2 (はな) → 変換2 (花) ... という流れの中で、入力1 から 入力2 までが同じウインドウ位置の 「あかい」の左端で、変換2 から「はな」の左端になります。 -- 小松弘幸 ----------------------- http://taiyaki.org/