X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=st.c;h=c4ff67c104d83cfdb22388c85f9dfd563478efeb;hb=1d378227c0349d83c540771815250c4506d578f3;hp=ebc99622e5a30f404a30e1e002e85645ed3c3fea;hpb=b56a0da283bd09d5084f472353c1a0b1b084613e;p=st.git diff --git a/st.c b/st.c index ebc9962..c4ff67c 100644 --- a/st.c +++ b/st.c @@ -2602,9 +2602,11 @@ xseturgency(int add) { void focus(XEvent *ev) { if(ev->type == FocusIn) { + XSetICFocus(xw.xic); xw.state |= WIN_FOCUSED; xseturgency(0); } else { + XUnsetICFocus(xw.xic); xw.state &= ~WIN_FOCUSED; } } @@ -2774,7 +2776,7 @@ run(void) { while(XPending(xw.dpy)) { XNextEvent(xw.dpy, &ev); - if(XFilterEvent(&ev, xw.win)) + if(XFilterEvent(&ev, None)) continue; if(handler[ev.type]) (handler[ev.type])(&ev); @@ -2849,6 +2851,7 @@ main(int argc, char *argv[]) { run: setlocale(LC_CTYPE, ""); + XSetLocaleModifiers(""); tnew(80, 24); xinit(); ttynew();