gtkアプリでIIIMFのステータスウィンドウを非表示にする
ATOK付属のIIIMFで、gtkアプリのウィンドウ左下にステータスウィンドウ(「ATOK」「あ連R漢」と表示される白いウィンドウ)が出るのが気になっていた。(前回)
結局、設定で何とかする方法は分からず(もしかするとないのかも)、以下のパッチを当てることで目的を達した。
--- iiimf-trunk_r2059/iiimgcf/gtkimcontextiiim.c 2005-02-27 07:48:44.000000000 +0900 +++ iiimf-trunk_r2059.mod/iiimgcf/gtkimcontextiiim.c 2005-02-27 07:42:28.000000000 +0900 @@ -222,6 +222,8 @@ /* List of status windows for different toplevels */ static GSList *status_windows = NULL; +static gboolean disable_status_window = FALSE; + void im_context_iiim_register_type (GTypeModule * type_module) { @@ -701,6 +703,9 @@ if (!iiim_is_initialized) { + if (getenv("HTT_DISABLE_STATUS_WINDOW")) { + disable_status_window = TRUE; + } st = iiimcf_initialize (IIIMCF_ATTR_NULL); if (st != IIIMF_STATUS_SUCCESS) goto Error; @@ -2475,6 +2480,9 @@ /* status window is disclaimed */ return; + if (disable_status_window) + return; + if (text[0]) { GtkWidget *label;
それとよく分からないことに、im-sdkのコンパイル中に、autogen.shの生成したMakefileだとなぜかsoファイルのファイル名がおかしくなるので、sh autogen.shの前にlibtoolize --copy --forceを実行したら直った。