docs: def _qteRunQueuedMacro(self, macroName: str,
                             widgetObj: QtGui.QWidget=None,
                             keysequence: QtmacsKeysequence=None):
          """
          Execute the next macro in the macro queue.
  
          This method is triggered by the ``timerEvent`` in conjunction
          with the focus manager to ensure the event loop updates the
          GUI in between any two macros.
  
          .. warning:: Never call this method directly.
  
          |Args|
  
          * ``macroName`` (**str**): name of macro
          * ``widgetObj`` (**QWidget**): widget (if any) for which the
            macro applies
          * ``keysequence* (**QtmacsKeysequence**): key sequence that
            triggered the macro.
  
          |Returns|
  
          * **None**
  
          |Raises|
  
          * **QtmacsArgumentError** if at least one argument has an invalid type.
          """
          # Fetch the applet holding the widget (this may be None).
          app = qteGetAppletFromWidget(widgetObj)
  
          # Double check that the applet still exists, unless there is
          # no applet (can happen when the windows are empty).
          if app is not None:
              if sip.isdeleted(app):
                  msg = 'Ignored macro <b>{}</b> because it targeted a'
                  msg += '  nonexistent applet.'.format(macroName)
                  self.qteLogger.warning(msg)
                  return
  
          # Fetch a signature compatible macro object.
          macroObj = self.qteGetMacroObject(macroName, widgetObj)
  
          # Log an error if no compatible macro was found.
          if macroObj is None:
              msg = 'No <b>{}</b>-macro compatible with {}:{}-type applet'
              msg = msg.format(macroName, app.qteAppletSignature(),
                               widgetObj._qteAdmin.widgetSignature)
              self.qteLogger.warning(msg)
              return
  
          # Update the 'last_key_sequence' variable in case the macros,
          # or slots triggered by that macro, have access to it.
          self.qteDefVar('last_key_sequence', keysequence,
                         doc="Last valid key sequence that triggered a macro.")
  
          # Set some variables in the macro object for convenient access
          # from inside the macro.
          if app is None:
              macroObj.qteApplet = macroObj.qteWidget = None
          else:
              macroObj.qteApplet = app
              macroObj.qteWidget = widgetObj
  
          # Run the macro and trigger the focus manager.
          macroObj.qtePrepareToRun()