static void im_active(void) { if (raw_mode) { init_keycode_state(); } FcitxIMClientFocusIn(client); FcitxIMClientEnableIC(client); active = 1; }
void fcitx_im_context_show(ClutterIMContext* context) { FcitxLog(LOG_LEVEL, "fcitx_im_context_focus_out"); FcitxIMContext *fcitxcontext = FCITX_IM_CONTEXT(context); if (!fcitxcontext->has_focus) { clutter_im_context_focus_in(context); } if (IsFcitxIMClientValid(fcitxcontext->client) && !IsFcitxIMClientEnabled(fcitxcontext->client)) { FcitxIMClientEnableIC(fcitxcontext->client); } }
void _fcitx_fbterm_connect_cb(FcitxIMClient* client, void* user_data) { if (IsFcitxIMClientValid(client)) { FcitxIMClientConnectSignal(client, G_CALLBACK(_fcitx_fbterm_enable_im_cb), G_CALLBACK(_fcitx_fbterm_close_im_cb), G_CALLBACK(_fcitx_fbterm_commit_string_cb), G_CALLBACK(_fcitx_fbterm_forward_key_cb), G_CALLBACK(_fcitx_fbterm_update_client_side_ui_cb), user_data, NULL); CapacityFlags flags = CAPACITY_CLIENT_SIDE_UI; FcitxIMClientSetCapacity(client, flags); if (active) { FcitxIMClientFocusIn(client); FcitxIMClientEnableIC(client); } } }