message: Disallow a window waiting on system() to block DefTerm startup
  We'll just ping the window and give it a chance to respond before we
  bunk with it.
  Fixes
diff: @@ -1507,6 +1507,13 @@ void IslandWindow::_globalActivateWindow(const uint32_t dropdownDuration,
  }
  }
  else
  + {
  + // Try first to send a message to the current foreground window. If it's not responding, it may
  + // be waiting on us to finsh launching. Passing SMTO_NOTIMEOUTIFNOTHUNG means that we get the same
  + // behavior as before--that is, waiting for the message loop--but we've done an early return if
  + // it turns out that it was hung.
  + // SendMessageTimeoutW returns nonzero if it succeeds.
  + if (0 != SendMessageTimeoutW(oldForegroundWindow, WM_NULL, 0, 0, SMTO_NOTIMEOUTIFNOTHUNG | SMTO_BLOCK | SMTO_ABORTIFHUNG, 1000, nullptr))
  {
  const auto windowThreadProcessId = GetWindowThreadProcessId(oldForegroundWindow, nullptr);
  const auto currentThreadId = GetCurrentThreadId();
  @@ -1527,6 +1534,7 @@ void IslandWindow::_globalActivateWindow(const uint32_t dropdownDuration,
  _moveToMonitor(oldForegroundWindow, toMonitor);
  }
  }
  +}
  // Method Description:
  // - Minimize the window. This is called when the window is summoned, but is
  