          title = "All Sessions"
          if selected_id != "Total":
              title = "{} Model: Session #{}".format(model_name.title(), selected_id)
          logger.debug("Title: '%s'", title)
          return "{} - {}".format(title, model_dir)
  
      def _data_popup_get_position(self):
          """ Get the position of the next window to pop the summary graph to.
  
          Returns
          -------
          list
              The [x, y] co-ordinates that the pop up window should be placed at
          """
          logger.debug("getting poup position")
          init_pos = [120, 120]
          pos = init_pos
          while True:
              if pos not in self._popup_positions:
                  self._popup_positions.append(pos)
                  break
              pos = [item + 200 for item in pos]
              init_pos, pos = self._data_popup_check_boundaries(init_pos, pos)
          logger.debug("Position: %s", pos)
          return pos
  
      def _data_popup_check_boundaries(self, initial_position, position):
          """ Check that the popup remains within the screen boundaries.
  
          Parameters
          ----------
          initial_position: list
              The [x, y] position of the last displayed popup window
          position: list
              The requested [x, y] position for the new popup window
  
          Returns
          -------
          tuple
              The original initial_position and position, adjusted if the new window would go out of
              bounds
          """
          logger.debug("Checking poup boundaries: (initial_position: %s, position: %s)",
                       initial_position, position)
          boundary_x = self.winfo_screenwidth() - 120
          boundary_y = self.winfo_screenheight() - 120
          if position[0] >= boundary_x or position[1] >= boundary_y:
              initial_position = [initial_position[0] + 50, initial_position[1]]
              position = initial_position
          logger.debug("Returning poup boundaries: (initial_position: %s, position: %s)",
                       initial_position, position)
          return initial_position, position
 
</s> remove             title = "{} Model: Session #{}".format(model_name.title(), selected_id)
 </s> add             title = f"{model_name.title()} Model: Session #{selected_id}" </s> remove         toplevel.geometry("{}x{}+{}+{}".format(str(height),
                                               str(width),
                                               str(position[0]),
                                               str(position[1])))
 </s> add         toplevel.geometry(f"{height}x{width}+{offset[0]}+{offset[1]}")
 </s> remove         buttons = dict()
 </s> add         buttons = {} </s> remove             msg = "...{}".format(msg[-70:])
 </s> add             msg = f"...{msg[-70:]}" </s> remove         logs_dir = os.path.join(model_dir, "{}_logs".format(model_name))
 </s> add         logs_dir = os.path.join(model_dir, f"{model_name}_logs")
        return f"{title} - {model_dir}"
          title = "All Sessions"
          if selected_id != "Total":
              title = "{} Model: Session #{}".format(model_name.title(), selected_id)
          logger.debug("Title: '%s'", title)
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
        return f"{title} - {model_dir}"
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace
 Graph popup - Always open in same position 
lib/gui/display_analysis.py