Etsushi Kato
ekato****@ees*****
2004年 3月 20日 (土) 10:47:46 JST
こんにちは。 On Sat, Mar 20, 2004 at 02:34:19AM +0900, TOKUNAGA Hiroyuki <tkng****@xem*****> wrote: > On Fri, 19 Mar 2004 00:40:40 +0900 > Etsushi Kato <ekato****@ees*****> wrote: > > > 前者は、skk.scm の skk-prop-handler の修正と、半角カナもラベルに表示す > > るようにしたものです。また skk-commit-newline-explicitly はデフォルト > > で true のほうが良い思うので変えてあります。 > > これに関しては私はどうなっているのかわかってないので、とりあえず#fのま > まにしておきました。ヤマケンさんの意見が知りたいです。 ▽にほんご の状態で Enter キーを押した場合、im-uim なら #t でも #f でも期待どおり の挙動 (「にほんご」とその場で確定されて、カーソルは次の行に移る)を するのですが、uim-xim の場合、例えば rxvt 上で vim を使っている場合、 #f であると、確定された「にほんご」が次の行に来て、カーソルがその後ろ に位置してしまいます。また、#f の場合、確定したつもりの文字が消えてし まうこともあったのですが、ちょっと今は再現できません。#t なら期待どお りの挙動です。 > > 後者は、uim-xim と im-uim のフォーカスコンテキストを修正したものです。 > > uim-0.3.2 に対するパッチなので、すでに修正が入っている部分も含んでいる > > かと思います。 > > > immoduleに対するパッチなのですが、 > > - } else if(strncmp("focus_in", str, 8) == 0) { > - /* focused_context = NULL; */ > + } else if (strncmp("focus_in", str, 8) == 0) { > + focused_context = NULL; > > ここでfocused_context = NULLがコメントアウトしてあるのはxfwm4のバグ対 > 策だったりします。xfwm4はalt+tabでフォーカスを移動させた場合にバグがあっ > て、このコメントアウトを外すとうまく動きません。 > > これがmetacityに同じようなバグがあるとかならこのバグ対策は絶対に外せな > いと思うのですが、xfwmのようなマイナーWMへの対策なので、どうするべきかは > 得失次第だと思います。ここのコメントアウトを外すことで具体的にどのような > バグが解決できるのか、もう少し詳しく説明していただけますか? まずウィンドウマネージャーは metacity 2.6.3 を使っています。 im-uim についてですが、focus_out() のときに focused_context = NULL し てしまうと、applet を使ってモードを変えようとしたときに focused_context が NULL になってしまい、結局 applet によるモードの変更 ができませんでした。そのため、この部分は除きました (uim-xim も focusOut() では、mFocusedContext を NULL にはしていないようです)。この 状態だと、最後にフォーカスしたウィンドウに focused context が残るので、 applet によるモードの変更が確実になります。 しかしこの状態では、im-uim と uim-xim がそれぞれ focusedContext を残し てしまっているので、applet によって uim のモードを変更すると、im-uim と uim-xim のそれぞれの最後にフォーカスされたウィンドウの 2つの uim モー ドが変ってしまいます。これではちょっと気持悪いので、画面上で一番最後に フォーカスされたウィンドウのみ applet によって変更できるようにしたつも りです。 つまり、im-uim では im_uim_parse_helper_str() において、 focused_context がある場合、"focus_in" を helper から伝えられた場合に focused_context = NULL すれば問題なくなります。uim-xim にも同様に helper_str_parse() において "focus_in" を受けとった場合、もし focusedContext が有れば NULL にしました。 -- Etsushi Kato ekato****@ees*****