ヤマケンです。

uim 1.5.0の残りTODOは以下のようになりました。

・可能であればuim.elへのかな入力hack追加
・ドキュメント・メッセージ類整備

At Wed, 19 Sep 2007 22:48:21 +0900,
[メールアドレス保護] 
wrote:
> 
> > > 機能追加:
> > > - かな入力 hack (r4891, kana_ROとyen signの区別)
> > >   * GTK+ブリッジ動作確認
> > >   * 必要ならscm側も変更
> > >   * Qt, XIMにも同等のhackを適用
> 
> GTK+及びXIMでは正常動作を確認しました。後程Qtにも追加します。また、
> もし可能であればuim.elでも対応してもらえるかもしれません。

Qt3向けimmoduleに機能を追加・動作確認しました。

また、Qt4向けimmoduleを正式なブリッジの1つとして追加しました。
uim 1.5.0で配布されます。従来のuim配布物には含まれていなかった
Qt4向けimmoduleは3年前のQt4 開発中版のみに対応しQt4リリース版では
動きませんでしたが、Qt4.3で正常に動くよう対応し、かな入力hackを含
めたQt3向けimmoduleのほとんどの機能を移植しました。

Qt4のimmoduleはディストリビューションによって? は追加インストール
されたimmoduleが動かない問題があるようなので、別途調査したいと思
います。少なくともUbuntu Feistyのlibqt4-gui 4.2.3-0ubuntu3では
imsw-multiプラグインのロード失敗に起因して動作しませんでした。

> > > - skk-show-cursor-on-preedit?が#fの状態でもカーソルが表示される
> > >   ([uim thread 7 828-829])
> 
> 意図した通りの動作に修正されている事を確認しました。2ch uimスレッ
> ド7の853で「逆にキャレットが消えなくなった」と報告されていました
> が、私の手元では再現しませんでした。visual-style uimのgeditで確認。

「uim-colorを'uim-color-atokに設定すれば確認できる」との事なので
そのようにしたら再現しました。以前は黒い反転表示の場合でも1ドット
横でカーソルの点滅が見えていたような記憶があったので、表示されて
いないと早とちりしていました。すいません。

対処方ですが、gtk+-2.10.6のgtkentry.cを斜め読みした限りでは以下の
ように外部からカーソルの表示/非表示を制御する手段は無いように見え
ます。

- gtk_entry_preedit_changed_cb()
  * cursor_posは必ず非負の有効値に設定されている

- 以下の関数/変数の周辺を追ってみても、外部に開かれた制御手段は無
  さそう
  * gtk_entry_draw_cursor()
  * entry->cursor_visible
  * hide_cursor()

- IMコンテキストから所有者widgetへ紳士的に直接アクセスする手段が
  無い(私の知る限りでは)

focusの当たっているwidgetをグローバルに取得して、private変数扱い
と思われるGtkEntryのentry->cursor_visibleを直接変更する等の手段し
か思い付きません。何かいい手をご存じの方はお知らせ下さい。

それと「逆にキャレットが消えなくなった」とありますが、
gtk-im-uim.cとgtkentry.cを読んだ限りではカーソルが消えるという状
況は考えにくいのですが、表示位置が末尾から先頭に変わった等ではな
く、本当にカーソルが消える状況が以前の実装ではあったのでしょうか。

------------------------------------------------
YAMAMOTO Kengo / YamaKen  
[メールアドレス保護]
FAMILY   Given / Nick
http://en.wikipedia.org/wiki/Japanese_name

--~--~---------~--~----~------------~-------~--~----~
Google Groups "uim-ja" group
uim-ja@googlegroups.com
http://groups.google.com/group/uim-ja/about
-~----------~----~----~----~------~----~------~--~---

メールによる返信