From d394a51b662a3cbbb575a94836a6d9737ce0c26a Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 14 Sep 2016 23:01:34 +0800 Subject: Fix compose key Turns out the app needs to call setlocale(LC_ALL, "") for this to work. I am not sure if it is possible to make things work correctly purely in Pugl (since plugin UIs can't call setlocale). --- pugl/pugl_x11.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'pugl') diff --git a/pugl/pugl_x11.c b/pugl/pugl_x11.c index 855d04b..7ceef29 100644 --- a/pugl/pugl_x11.c +++ b/pugl/pugl_x11.c @@ -323,6 +323,7 @@ puglCreateWindow(PuglView* view, const char* title) (Window)(view->transient_parent)); } + XSetLocaleModifiers(""); if (!(impl->xim = XOpenIM(impl->display, NULL, NULL, NULL))) { XSetLocaleModifiers("@im="); if (!(impl->xim = XOpenIM(impl->display, NULL, NULL, NULL))) { @@ -330,10 +331,11 @@ puglCreateWindow(PuglView* view, const char* title) } } - if (!(impl->xic = XCreateIC(impl->xim, XNInputStyle, - XIMPreeditNothing | XIMStatusNothing, + const XIMStyle im_style = XIMPreeditNothing | XIMStatusNothing; + if (!(impl->xic = XCreateIC(impl->xim, + XNInputStyle, im_style, XNClientWindow, impl->win, - XNFocusWindow, impl->win, + XNFocusWindow, impl->win, NULL))) { fprintf(stderr, "warning: XCreateIC failed\n"); } -- cgit v1.2.3