If you click and drag the Steam window, the decorations will behave as if the window was unfocused. This is probably because Steam sees a FocusOut event with NotifyGrabbed and assumed focus was stolen from it.
Instead of tracking focus state with FocusIn/FocusOut state, use the _NET_WM_STATE_FOCUSED part of _NET_WM_STATE if available.
If you click and drag the Steam window, the decorations will behave as if the window was unfocused. This is probably because Steam sees a FocusOut event with NotifyGrabbed and assumed focus was stolen from it.
Instead of tracking focus state with FocusIn/FocusOut state, use the _NET_WM_STATE_FOCUSED part of _NET_WM_STATE if available.