rem: UpdateSwitchMenu(wwin->screen_ptr, wwin, ACTION_CHANGE_STATE);
add: WMPostNotificationName(WMNChangedFocus, wwin, (void*)False);
context: wWindowUnfocus(WWindow *wwin){    CloseWindowMenu(wwin->screen_ptr);    if (wwin->flags.is_gnustep == 0)      wFrameWindowChangeState(wwin->frame, wwin->flags.semi_focused 			    ? WS_PFOCUSED : WS_UNFOCUSED);    if (wwin->transient_for!=None 	&& wwin->transient_for!=wwin->screen_ptr->root_win) {	WWindow *owner;	owner = wWindowFor(wwin->transient_for);	if (owner && owner->flags.semi_focused) {	    owner->flags.semi_focused = 0;	    if (owner->flags.mapped || owner->flags.shaded) {		wWindowUnfocus(owner);		wFrameWindowPaint(owner->frame);	    }	}    }    wwin->flags.focused = 0;    wWindowResetMouseGrabs(wwin);    UpdateSwitchMenu(wwin->screen_ptr, wwin, ACTION_CHANGE_STATE);}