code: def highlight(self, rect, color="red", seconds=None):
          
          self.queue = queue.Queue()
          if seconds == 0:
              t = threading.Thread(target=self._do_until_timeout, args=(self.queue,(rect,color,seconds)))
              t.start()
              q = self.queue
              control_obj = lambda: None
              control_obj.close = lambda: q.put(True)
              return control_obj
          self._do_until_timeout(self.queue, (rect,color,seconds))
docs: Simulates a transparent rectangle over the specified ``rect`` on the screen.
  
          Actually takes a screenshot of the region and displays with a
          rectangle border in a borderless window (due to Tkinter limitations)
  
          If a Tkinter root window has already been created somewhere else,
          uses that instead of creating a new one.