… | |
… | |
513 | |
513 | |
514 | check_ev.start (); |
514 | check_ev.start (); |
515 | |
515 | |
516 | HOOK_INVOKE ((this, HOOK_START, DT_END)); |
516 | HOOK_INVOKE ((this, HOOK_START, DT_END)); |
517 | |
517 | |
|
|
518 | #if ENABLE_XEMBED |
|
|
519 | if (rs[Rs_embed]) |
|
|
520 | { |
|
|
521 | long info[2] = { 0, XEMBED_MAPPED }; |
|
|
522 | |
|
|
523 | XChangeProperty (display->display, parent[0], xa[XA_XEMBED_INFO], xa[XA_XEMBED_INFO], |
|
|
524 | 32, PropModeReplace, (unsigned char *)&info, 2); |
|
|
525 | } |
|
|
526 | #endif |
|
|
527 | |
518 | XMapWindow (disp, vt); |
528 | XMapWindow (disp, vt); |
519 | XMapWindow (disp, parent[0]); |
529 | XMapWindow (disp, parent[0]); |
520 | |
530 | |
521 | return true; |
531 | return true; |
522 | } |
532 | } |
… | |
… | |
1211 | XPoint nspot; |
1221 | XPoint nspot; |
1212 | XVaNestedList preedit_attr; |
1222 | XVaNestedList preedit_attr; |
1213 | |
1223 | |
1214 | if (!Input_Context |
1224 | if (!Input_Context |
1215 | || !focus |
1225 | || !focus |
1216 | || !(input_style & XIMPreeditPosition)) |
1226 | || !(input_style & (XIMPreeditPosition | XIMPreeditCallbacks))) |
1217 | return; |
1227 | return; |
1218 | |
1228 | |
1219 | im_set_position (nspot); |
1229 | im_set_position (nspot); |
1220 | |
1230 | |
1221 | if (nspot.x == spot.x && nspot.y == spot.y) |
1231 | if (nspot.x == spot.x && nspot.y == spot.y) |
… | |
… | |
1481 | XNFontSet, fs, |
1491 | XNFontSet, fs, |
1482 | NULL); |
1492 | NULL); |
1483 | } |
1493 | } |
1484 | else if (input_style & XIMPreeditCallbacks) |
1494 | else if (input_style & XIMPreeditCallbacks) |
1485 | { |
1495 | { |
|
|
1496 | im_set_position (spot); |
|
|
1497 | |
1486 | xcb[0].client_data = (XPointer)this; xcb[0].callback = (XIMProc)xim_preedit_start; |
1498 | xcb[0].client_data = (XPointer)this; xcb[0].callback = (XIMProc)xim_preedit_start; |
1487 | xcb[1].client_data = (XPointer)this; xcb[1].callback = (XIMProc)xim_preedit_done; |
1499 | xcb[1].client_data = (XPointer)this; xcb[1].callback = (XIMProc)xim_preedit_done; |
1488 | xcb[2].client_data = (XPointer)this; xcb[2].callback = (XIMProc)xim_preedit_draw; |
1500 | xcb[2].client_data = (XPointer)this; xcb[2].callback = (XIMProc)xim_preedit_draw; |
1489 | #if 0 |
1501 | #if 0 |
1490 | xcb[3].client_data = (XPointer)this; xcb[3].callback = (XIMProc)xim_preedit_caret; |
1502 | xcb[3].client_data = (XPointer)this; xcb[3].callback = (XIMProc)xim_preedit_caret; |
1491 | #endif |
1503 | #endif |
1492 | |
1504 | |
1493 | preedit_attr = XVaCreateNestedList (0, |
1505 | preedit_attr = XVaCreateNestedList (0, |
|
|
1506 | XNSpotLocation, &spot, |
1494 | XNPreeditStartCallback, &xcb[0], |
1507 | XNPreeditStartCallback, &xcb[0], |
1495 | XNPreeditDoneCallback , &xcb[1], |
1508 | XNPreeditDoneCallback , &xcb[1], |
1496 | XNPreeditDrawCallback , &xcb[2], |
1509 | XNPreeditDrawCallback , &xcb[2], |
1497 | #if 0 |
1510 | #if 0 |
1498 | XNPreeditCaretCallback, &xcb[3], |
1511 | XNPreeditCaretCallback, &xcb[3], |