]> git.tdb.fi Git - libs/gui.git/blobdiff - source/graphics/x11/window.cpp
Track the currently focused window in Display
[libs/gui.git] / source / graphics / x11 / window.cpp
index 52f37a35137e986e81fcf840e32b64e4b33a01e0..7513d3ffb14ebb958efe5e7d9b33a9f65e0482e4 100644 (file)
@@ -32,7 +32,7 @@ void Window::platform_init()
 
        XSetWindowAttributes attr;
        attr.override_redirect = options.fullscreen;
-       attr.event_mask = ButtonPressMask|ButtonReleaseMask|PointerMotionMask|KeyPressMask|KeyReleaseMask|StructureNotifyMask|EnterWindowMask|ExposureMask;
+       attr.event_mask = ButtonPressMask|ButtonReleaseMask|PointerMotionMask|KeyPressMask|KeyReleaseMask|StructureNotifyMask|EnterWindowMask|ExposureMask|FocusChangeMask;
 
        priv->window = XCreateWindow(dpy,
                display.get_private().root_window,
@@ -250,6 +250,12 @@ bool Window::event(const Event &evnt)
        case Expose:
                signal_expose.emit(ev.xexpose.x, ev.xexpose.y, ev.xexpose.width, ev.xexpose.height, evnt);
                break;
+       case FocusIn:
+               signal_got_focus.emit();
+               break;
+       case FocusOut:
+               signal_lost_focus.emit();
+               break;
        default:
                return false;
        }