docs: def __process_idle_events(self):
          """This should never be called directly, it is called via an
             event, and should always be on the GUI thread"""
          while True:
              try:
                  callable, args = self.queue.get(block=False)
              except queue.Empty:
                  break
              callable(*args)