class_docstr: Attributes
  ----------
  canvas : `FigureCanvas`
      The FigureCanvas instance
  num : int or str
      The Figure number
  toolbar : Gtk.Toolbar or Gtk.Box
      The toolbar
  vbox : Gtk.VBox
      The Gtk.VBox containing the canvas and toolbar
  window : Gtk.Window
      The Gtk.Window
class_docstr_tok: ["Attributes","--","--","--","--","--","canvas",":","`","FigureCanvas","`","The","FigureCanvas","instance","num",":","int","or","str","The","Figure","number","toolbar",":","Gtk.Toolbar","or","Gtk.Box","The","toolbar","vbox",":","Gtk.VBox","The","Gtk.VBox","containing","the","canvas","and","toolbar","window",":","Gtk.Window","The","Gtk.Window"]
code: def start_main_loop(cls):
      global _application
      if _application is None:
          return
  
      try:
          _application.run()  # Quits when all added windows close.
      except KeyboardInterrupt:
          # Ensure all windows can process their close event from
          # _shutdown_application.
          context = GLib.MainContext.default()
          while context.pending():
              context.iteration(True)
          raise
      finally:
          # Running after quit is undefined, so create a new one next time.
          _application = None
  
imports: import logging
  import sys
  import matplotlib
  from matplotlib import _api, backend_tools, cbook
  from matplotlib._pylab_helpers import Gcf
  from matplotlib.backend_bases import _Backend, FigureCanvasBase, FigureManagerBase, NavigationToolbar2, TimerBase
  from matplotlib.backend_tools import Cursors
  import gi
  from gi.repository import Gdk, Gio, GLib, Gtk
label_desc: Use image node_id 3 for calling the _FigureManagerGTK obj's underlying member method code with example usage: obj.start_main_loop(cls) without return types