boolean isStateChange(XDecoratedPeer window,XPropertyEvent e){
  if (!window.isShowing()) {
    stateLog.finer("Window is not showing");
    return false;
  }
  int wm_state=window.getWMState();
  if (wm_state == XUtilConstants.WithdrawnState) {
    stateLog.finer("WithdrawnState");
    return false;
  }
 else {
    if (stateLog.isLoggable(PlatformLogger.Level.FINER)) {
      stateLog.finer("Window WM_STATE is " + wm_state);
    }
  }
  boolean is_state_change=false;
  if (e.get_atom() == XA_WM_STATE.getAtom()) {
    is_state_change=true;
  }
  for (  XStateProtocol proto : getProtocols(XStateProtocol.class)) {
    is_state_change|=proto.isStateChange(e);
    if (stateLog.isLoggable(PlatformLogger.Level.FINEST)) {
      stateLog.finest(proto + ": is state changed = " + is_state_change);
    }
  }
  return is_state_change;
}

boolean isStateChange ( XDecoratedPeer window , XPropertyEvent e ) { if ( ! window . isShowing ( ) ) { stateLog . finer ( "Window is not showing" ) ; return false ; } int wm_state = window . getWMState ( ) ; if ( wm_state == XUtilConstants . WithdrawnState ) { stateLog . finer ( "WithdrawnState" ) ; return false ; } else { if ( stateLog . isLoggable ( PlatformLogger . Level . FINER ) ) { stateLog . finer ( "Window WM_STATE is " + wm_state ) ; } } boolean is_state_change = false ; if ( e . get_atom ( ) == XA_WM_STATE . getAtom ( ) ) { is_state_change = true ; } for ( XStateProtocol proto : getProtocols ( XStateProtocol . class ) ) { is_state_change |= proto . isStateChange ( e ) ; if ( stateLog . isLoggable ( PlatformLogger . Level . FINEST ) ) { stateLog . finest ( proto + ": is state changed = " + is_state_change ) ; } } return is_state_change ; }
\ notice window state change when wm changes a property on the window . . . \
