int hime_FocusOut(ClientState *cs) { gint64 t = current_time(); // dbg("hime_FocusOut\n"); if (cs != current_CS) return FALSE; #if UNIX && 0 // dbg("hime_FocusOut\n"); if (skip_window(cs->client_win)) return FALSE; #endif if (t - last_focus_out_time < 100000) { last_focus_out_time = t; return FALSE; } last_focus_out_time = t; if (cs == current_CS) { hide_in_win(cs); } reset_current_in_win_xy(); if (cs == current_CS) temp_CS = *current_CS; #if 0 dbg("focus out\n"); #endif return True; }
int hime_FocusIn(ClientState *cs) { // dbg("hime_FocusIn\n"); Window win = cs->client_win; #if UNIX && 0 if (skip_window(win)) return FALSE; #endif reset_current_in_win_xy(); if (cs) { Window win = cs->client_win; if (focus_win != win) { #if 1 hime_reset(); #endif hide_in_win(current_CS); focus_win = win; } } current_CS = cs; save_CS_temp_to_current(); // dbg("current_CS %x %d %d\n", cs, cs->im_state, current_CS->im_state); if (win == focus_win) { if (cs->im_state != HIME_STATE_DISABLED) { show_in_win(cs); move_IC_in_win(cs); } else hide_in_win(cs); } if (inmd[cs->in_method].selkey) set_wselkey(inmd[cs->in_method].selkey); else { set_wselkey(pho_selkey); gtab_set_win1_cb(); tsin_set_win1_cb(); } update_win_kbm(); #if TRAY_ENABLED disp_tray_icon(); #endif #if 0 dbg_time("hime_FocusIn %x %x\n",cs, current_CS); #endif return True; }
int gcin_FocusIn(ClientState *cs) { Window win = cs->client_win; gcin_reset(); #if UNIX if (skip_window(win)) return FALSE; #endif reset_current_in_win_xy(); if (cs) { Window win = cs->client_win; if (focus_win != win) { hide_in_win(current_CS); focus_win = win; } } current_CS = cs; // dbg("current_CS %x %d %d\n", cs, cs->im_state, current_CS->im_state); if (win == focus_win) { if (cs->im_state != GCIN_STATE_DISABLED) { show_in_win(cs); move_IC_in_win(cs); #if 0 set_win_status_inmd(inmd[cs->in_method].cname); #endif } else hide_in_win(cs); } update_win_kbm(); #if TRAY_ENABLED disp_tray_icon(); #endif #if 0 dbg_time("gcin_FocusIn %x %x\n",cs, current_CS); #endif return True; }