code: def update_app_icon(self):
          
          if os.name == 'nt' or not hasattr(self, '_last_window_size'):  # pragma: no cover
              # DO NOT EVEN ATTEMPT TO UPDATE ICON ON WINDOWS
              return
          cur_time = time.time()
          if self._last_window_size != self.window_size:  # pragma: no cover
              # Window size hasn't remained constant since last render.
              # This means the user is resizing it so ignore update.
              pass
          elif ((cur_time - self._last_update_time > BackgroundPlotter.ICON_TIME_STEP)
                  and self._last_camera_pos != self.camera_position):
              # its been a while since last update OR
              #   the camera position has changed and its been at leat one second
  
              # Update app icon as preview of the window
              img = pad_image(self.image)
              qimage = QtGui.QImage(img.copy(), img.shape[1],
                                    img.shape[0], QtGui.QImage.Format_RGB888)
              icon = QtGui.QIcon(QtGui.QPixmap.fromImage(qimage))
  
              self.app.setWindowIcon(icon)
  
              # Update trackers
              self._last_update_time = cur_time
              self._last_camera_pos = self.camera_position
          # Update trackers
          self._last_window_size = self.window_size
docs: Update the app icon if the user is not trying to resize the window.