2120 |
static XIMStyle best_xim_style P_ ((XIMStyles *, XIMStyles *)); |
static XIMStyle best_xim_style P_ ((XIMStyles *, XIMStyles *)); |
2121 |
|
|
2122 |
|
|
2123 |
/* Supported XIM styles, ordered by preferenc. */ |
/* Supported XIM styles, ordered by preference. */ |
2124 |
|
|
2125 |
static XIMStyle supported_xim_styles[] = |
static XIMStyle supported_xim_styles[] = |
2126 |
{ |
{ |
2578 |
|
|
2579 |
#ifdef HAVE_X_I18N |
#ifdef HAVE_X_I18N |
2580 |
FRAME_XIC (f) = NULL; |
FRAME_XIC (f) = NULL; |
2581 |
#ifdef USE_XIM |
if (use_xim) |
2582 |
create_frame_xic (f); |
create_frame_xic (f); |
|
#endif |
|
2583 |
#endif |
#endif |
2584 |
|
|
2585 |
f->output_data.x->wm_hints.input = True; |
f->output_data.x->wm_hints.input = True; |
2656 |
|
|
2657 |
#ifdef HAVE_X_I18N |
#ifdef HAVE_X_I18N |
2658 |
FRAME_XIC (f) = NULL; |
FRAME_XIC (f) = NULL; |
2659 |
#ifdef USE_XIM |
if (use_xim) |
2660 |
BLOCK_INPUT; |
{ |
2661 |
create_frame_xic (f); |
BLOCK_INPUT; |
2662 |
if (FRAME_XIC (f)) |
create_frame_xic (f); |
2663 |
{ |
if (FRAME_XIC (f)) |
2664 |
/* XIM server might require some X events. */ |
{ |
2665 |
unsigned long fevent = NoEventMask; |
/* XIM server might require some X events. */ |
2666 |
XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL); |
unsigned long fevent = NoEventMask; |
2667 |
|
XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL); |
2668 |
if (fevent != NoEventMask) |
|
2669 |
{ |
if (fevent != NoEventMask) |
2670 |
XSetWindowAttributes attributes; |
{ |
2671 |
XWindowAttributes wattr; |
XSetWindowAttributes attributes; |
2672 |
unsigned long attribute_mask; |
XWindowAttributes wattr; |
2673 |
|
unsigned long attribute_mask; |
2674 |
XGetWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
|
2675 |
&wattr); |
XGetWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
2676 |
attributes.event_mask = wattr.your_event_mask | fevent; |
&wattr); |
2677 |
attribute_mask = CWEventMask; |
attributes.event_mask = wattr.your_event_mask | fevent; |
2678 |
XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
attribute_mask = CWEventMask; |
2679 |
attribute_mask, &attributes); |
XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
2680 |
} |
attribute_mask, &attributes); |
2681 |
} |
} |
2682 |
UNBLOCK_INPUT; |
} |
2683 |
#endif |
UNBLOCK_INPUT; |
2684 |
|
} |
2685 |
#endif |
#endif |
2686 |
} |
} |
2687 |
|
|
2721 |
attribute_mask, &attributes); |
attribute_mask, &attributes); |
2722 |
|
|
2723 |
#ifdef HAVE_X_I18N |
#ifdef HAVE_X_I18N |
2724 |
#ifdef USE_XIM |
if use_xim |
|
create_frame_xic (f); |
|
|
if (FRAME_XIC (f)) |
|
2725 |
{ |
{ |
2726 |
/* XIM server might require some X events. */ |
create_frame_xic (f); |
2727 |
unsigned long fevent = NoEventMask; |
if (FRAME_XIC (f)) |
2728 |
XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL); |
{ |
2729 |
attributes.event_mask |= fevent; |
/* XIM server might require some X events. */ |
2730 |
attribute_mask = CWEventMask; |
unsigned long fevent = NoEventMask; |
2731 |
XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL); |
2732 |
attribute_mask, &attributes); |
attributes.event_mask |= fevent; |
2733 |
|
attribute_mask = CWEventMask; |
2734 |
|
XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
2735 |
|
attribute_mask, &attributes); |
2736 |
|
} |
2737 |
} |
} |
|
#endif |
|
2738 |
#endif /* HAVE_X_I18N */ |
#endif /* HAVE_X_I18N */ |
2739 |
|
|
2740 |
validate_x_resource_name (); |
validate_x_resource_name (); |