URI: 
       fix focus state when embed in another window. - st - simple terminal
  HTML git clone https://git.parazyd.org/st
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 8503f954a1cb2d08124fe2c1f0227bd23dffff46
   DIR parent cddbd6eee59104a029087c30f9ff5e7e415bc584
  HTML Author: Aurélien Aptel <aurelien.aptel@gmail.com>
       Date:   Thu,  9 Jun 2011 18:25:56 +0200
       
       fix focus state when embed in another window.
       
       Diffstat:
         M st.c                                |       7 +++++--
       
       1 file changed, 5 insertions(+), 2 deletions(-)
       ---
   DIR diff --git a/st.c b/st.c
       @@ -241,6 +241,8 @@ static void (*handler[LASTEvent])(XEvent *) = {
                [VisibilityNotify] = visibility,
                [UnmapNotify] = unmap,
                [Expose] = expose,
       +        [EnterNotify] = focus,
       +        [LeaveNotify] = focus,
                [FocusIn] = focus,
                [FocusOut] = focus,
                [MotionNotify] = bmotion,
       @@ -1635,7 +1637,8 @@ xinit(void) {
                attrs.bit_gravity = NorthWestGravity;
                attrs.event_mask = FocusChangeMask | KeyPressMask
                        | ExposureMask | VisibilityChangeMask | StructureNotifyMask
       -                | ButtonMotionMask | ButtonPressMask | ButtonReleaseMask;
       +                | ButtonMotionMask | ButtonPressMask | ButtonReleaseMask
       +                | EnterWindowMask | LeaveWindowMask;
                attrs.colormap = xw.cmap;
        
                parent = opt_embed ? strtol(opt_embed, NULL, 0) : XRootWindow(xw.dpy, xw.scr);
       @@ -1819,7 +1822,7 @@ xseturgency(int add) {
        
        void
        focus(XEvent *ev) {
       -        if(ev->type == FocusIn) {
       +        if(ev->type == FocusIn || ev->type == EnterNotify) {
                        xw.state |= WIN_FOCUSED;
                        xseturgency(0);
                } else