9
typedef struct W_IMContext {
12
struct W_ICContext *icList;
16
typedef struct W_ICContext {
17
struct W_ICContext *next;
18
struct W_ICContext *prev;
26
W_InitIMStuff(WMScreen *scr)
30
ctx = scr->imctx = wmalloc(sizeof(WMIMContext));
32
ctx->xim = XOpenIM(scr->display, NULL, NULL, NULL);
33
if (ctx->xim == NULL) {
34
wwarning("could not open IM");
42
W_CloseIMStuff(WMScreen *scr)
48
XCloseIM(scr->imctx->xim);
56
W_CreateIC(WMView *view)
58
WMScreen *scr = W_VIEW_SCREEN(view);
62
ctx->next = scr->imctx->icList;
63
if (scr->imctx->icList)
64
scr->imctx->icList->prev = ctx;
71
W_DestroyIC(WMICContext *ctx)
80
W_LookupString(WMView *view, XKeyEvent *event,
81
char buffer, int bufsize, KeySym ksym)