[Anthy-dev 1465] Re: [uim] 変数 candidate-window-position の適応タイミング

アーカイブの一覧に戻る

Takuro Ashie ashie****@homa*****
2004年 12月 7日 (火) 10:18:35 JST


足永です。

On Mon, 06 Dec 2004 22:17:44 +0900
Hiroyuki Komatsu <komat****@taiya*****> wrote:

> どうも uim 0.4.5 では、Anthy から PRIME へと IME を切り替えたタイミング
> では uim_cand_win_gtk_init が呼ばれないようです。そのため Anthy から
> PRIME に切り替えても、candidate-window-position の値が "caret" のままに
> なっています。修正していただけると助かります。

以前は Gtk+ の IM 切替え機構を使っていたのでIM 切替えのタイミングで
uim_cand_win_gtk_init が呼ばれていましたが、im-switcher を使うようになって
候補ウィンドウをリセットしなくなったということですね。


ad-hocですが、以下で直ると思います。
が、設定はgtk-im-uim.cで読むように直そうかと思います。

--- uim-cand-win-gtk.c.bak      2004-12-07 10:13:09.311234968 +0900
+++ uim-cand-win-gtk.c  2004-12-07 10:13:31.415874552 +0900
@@ -141,15 +141,6 @@
   cwin->cursor.x = cwin->cursor.y = 0;
   cwin->cursor.width = cwin->cursor.height = 0;

-  leftp = uim_symbol_value_str("candidate-window-position");
-  if (leftp && !strcmp(leftp, "left")) {
-    cwin->left = TRUE;
-  } else {
-    cwin->left = FALSE;
-  }
-  g_free(leftp);
-
-
   /* build window */
   vbox = gtk_vbox_new(FALSE, 0);

@@ -319,6 +310,14 @@

   g_return_if_fail(UIM_IS_CAND_WIN_GTK(cwin));

+  leftp = uim_symbol_value_str("candidate-window-position");
+  if (leftp && !strcmp(leftp, "left")) {
+    cwin->left = TRUE;
+  } else {
+    cwin->left = FALSE;
+  }
+  g_free(leftp);
+
   if (cwin->stores == NULL)
     cwin->stores = g_ptr_array_new();



Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る