g_hash_table_insert (_ibus_ic_table, x11ic->ibus_ic, (gpointer)x11ic);
- ibus_im_client_set_capabilities (_client, x11ic->ibus_ic, IBUS_CAP_FOCUS | IBUS_CAP_PREEDIT);
+ if (x11ic->input_style & XIMPreeditCallbacks) {
+ ibus_im_client_set_capabilities (_client, x11ic->ibus_ic, IBUS_CAP_FOCUS | IBUS_CAP_PREEDIT);
+ }
+ else {
+ ibus_im_client_set_capabilities (_client, x11ic->ibus_ic, IBUS_CAP_FOCUS);
+ }
g_hash_table_insert (_x11_ic_table, (gpointer)x11ic->icid, (gpointer)x11ic);
x11ic->conn->clients = g_list_append (x11ic->conn->clients, (gpointer)x11ic);