Handle IME input
377bd37e
Thanks to nzl <uruabi@gmail.com> for the patch!
1 file(s) · +4 −1
Thanks to nzl <uruabi@gmail.com> for the patch!
| 552 | 552 | XEvent ev; |
|
| 553 | 553 | ||
| 554 | 554 | while (!XNextEvent(dpy, &ev)) { |
|
| 555 | - | if (XFilterEvent(&ev, win)) |
|
| 555 | + | if (XFilterEvent(&ev, None)) |
|
| 556 | 556 | continue; |
|
| 557 | 557 | switch(ev.type) { |
|
| 558 | 558 | case Expose: |
|
| 664 | 664 | XNClientWindow, win, XNFocusWindow, win, NULL); |
|
| 665 | 665 | ||
| 666 | 666 | XMapRaised(dpy, win); |
|
| 667 | + | XSetInputFocus(dpy, win, RevertToParent, CurrentTime); |
|
| 667 | 668 | if (embed) { |
|
| 668 | 669 | XSelectInput(dpy, parentwin, FocusChangeMask); |
|
| 669 | 670 | if (XQueryTree(dpy, parentwin, &dw, &w, &dws, &du) && dws) { |
|
| 729 | 730 | ||
| 730 | 731 | if (!setlocale(LC_CTYPE, "") || !XSupportsLocale()) |
|
| 731 | 732 | fputs("warning: no locale support\n", stderr); |
|
| 733 | + | if (!XSetLocaleModifiers("")) |
|
| 734 | + | fputs("warning: no locale modifiers support\n", stderr); |
|
| 732 | 735 | if (!(dpy = XOpenDisplay(NULL))) |
|
| 733 | 736 | die("cannot open display"); |
|
| 734 | 737 | screen = DefaultScreen(dpy); |
|