code: def overrideRootMenu(root, flist):
      """
      Replace the Tk root menu by something that is more appropriate for
      IDLE with an Aqua Tk.
      """
      # The menu that is attached to the Tk root (".") is also used by AquaTk for
      # all windows that don't specify a menu of their own. The default menubar
      # contains a number of menus, none of which are appropriate for IDLE. The
      # Most annoying of those is an 'About Tck/Tk...' menu in the application
      # menu.
      #
      # This function replaces the default menubar by a mostly empty one, it
      # should only contain the correct application menu and the window menu.
      #
      # Due to a (mis-)feature of TkAqua the user will also see an empty Help
      # menu.
      from Tkinter import Menu
      from idlelib import Bindings
      from idlelib import WindowList
  
      closeItem = Bindings.menudefs[0][1][-2]
  
      # Remove the last 3 items of the file menu: a separator, close window and
      # quit. Close window will be reinserted just above the save item, where
      # it should be according to the HIG. Quit is in the application menu.
      del Bindings.menudefs[0][1][-3:]
      Bindings.menudefs[0][1].insert(6, closeItem)
  
      # Remove the 'About' entry from the help menu, it is in the application
      # menu
      del Bindings.menudefs[-1][1][0:2]
      # Remove the 'Configure Idle' entry from the options menu, it is in the
      # application menu as 'Preferences'
      del Bindings.menudefs[-2][1][0]
      menubar = Menu(root)
      root.configure(menu=menubar)
      menudict = {}
  
      menudict["windows"] = menu = Menu(
          menubar, name="windows", tearoff=0
      )
      menubar.add_cascade(label="Window", menu=menu, underline=0)
  
      def postwindowsmenu(menu=menu):
          end = menu.index("end")
          if end is None:
              end = -1
  
          if end > 0:
              menu.delete(0, end)
          WindowList.add_windows_to_menu(menu)
  
      WindowList.register_callback(postwindowsmenu)
  
      def about_dialog(event=None):
          "Handle Help 'About IDLE' event."
          # Synchronize with EditorWindow.EditorWindow.about_dialog.
          from idlelib import aboutDialog
  
          aboutDialog.AboutDialog(root, "About IDLE")
  
      def config_dialog(event=None):
          "Handle Options 'Configure IDLE' event."
          # Synchronize with EditorWindow.EditorWindow.config_dialog.
          from idlelib import configDialog
  
          root.instance_dict = flist.inversedict
          configDialog.ConfigDialog(root, "Settings")
  
      def help_dialog(event=None):
          "Handle Help 'IDLE Help' event."
          # Synchronize with EditorWindow.EditorWindow.help_dialog.
          from idlelib import help
  
          help.show_idlehelp(root)
  
      root.bind("<<about-idle>>", about_dialog)
      root.bind("<<open-config-dialog>>", config_dialog)
      root.createcommand("::tk::mac::ShowPreferences", config_dialog)
      if flist:
          root.bind("<<close-all-windows>>", flist.close_all_callback)
  
          # The binding above doesn't reliably work on all versions of Tk
          # on MacOSX. Adding command definition below does seem to do the
          # right thing for now.
          root.createcommand("exit", flist.close_all_callback)
  
      if isCarbonTk():
          # for Carbon AquaTk, replace the default Tk apple menu
          menudict["application"] = menu = Menu(
              menubar, name="apple", tearoff=0
          )
          menubar.add_cascade(label="IDLE", menu=menu)
          Bindings.menudefs.insert(
              0,
              (
                  "application",
                  [
                      ("About IDLE", "<<about-idle>>"),
                      None,
                  ],
              ),
          )
          tkversion = root.tk.eval("info patchlevel")
          if tuple(map(int, tkversion.split("."))) < (8, 4, 14):
              # for earlier AquaTk versions, supply a Preferences menu item
              Bindings.menudefs[0][1].append(
                  ("_Preferences....", "<<open-config-dialog>>"),
              )
      if isCocoaTk():
          # replace default About dialog with About IDLE one
          root.createcommand("tkAboutDialog", about_dialog)
          # replace default "Help" item in Help menu
          root.createcommand("::tk::mac::ShowHelp", help_dialog)
          # remove redundant "IDLE Help" from menu
          del Bindings.menudefs[-1][1][0]
  
file_path: catboost/contrib/tools/python/src/Lib/idlelib/macosxSupport.py
imports: import sys
  import Tkinter
  from os import path
  import warnings
label_desc: Use image node_id 11 for calling a global function with example usage: overrideRootMenu(root, flist) without return types