1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-19 04:20:27 +01:00
Files
wmaker/WINGs/winputmethod.c
2004-07-16 18:18:36 +00:00

88 lines
1.2 KiB
C

#include <X11/Xlib.h>
#include "WINGsP.h"
typedef struct W_IMContext {
XIM xim;
struct W_ICContext *icList;
} WMIMContext;
typedef struct W_ICContext {
struct W_ICContext *next;
struct W_ICContext *prev;
XIC xic;
} WMICContext;
Bool
W_InitIMStuff(WMScreen *scr)
{
WMIMContext *ctx;
ctx = scr->imctx = wmalloc(sizeof(WMIMContext));
ctx->xim = XOpenIM(scr->display, NULL, NULL, NULL);
if (ctx->xim == NULL) {
wwarning("could not open IM");
return False;
}
// XGetIMValues(scr->display,
}
void
W_CloseIMStuff(WMScreen *scr)
{
if (!scr->imctx)
return;
if (scr->imctx->xim)
XCloseIM(scr->imctx->xim);
wfree(scr->imctx);
scr->imctx = NULL;
}
WMICContext*
W_CreateIC(WMView *view)
{
WMScreen *scr = W_VIEW_SCREEN(view);
WMICContext *ctx;
ctx->prev = NULL;
ctx->next = scr->imctx->icList;
if (scr->imctx->icList)
scr->imctx->icList->prev = ctx;
//scr->imctx = ctx;
}
void
W_DestroyIC(WMICContext *ctx)
{
XDestroyIC(ctx->xic);
}
int
W_LookupString(WMView *view, XKeyEvent *event,
char buffer, int bufsize, KeySym ksym)
{
}