class_docstr: Hold config parsers for all idle config files in singleton instance.
  
  Default config files, self.defaultCfg --
      for config_type in self.config_types:
          (idle install dir)/config-{config-type}.def
  
  User config files, self.userCfg --
      for config_type in self.config_types:
      (user home dir)/.idlerc/config-{config-type}.cfg
class_docstr_tok: ["Hold","config","parsers","for","all","idle","config","files","in","singleton","instance",".","Default","config","files",",","self.defaultCfg","--","for","config_type","in","self.config_types",":","(","idle","install","dir",")","\/config-","{","config-type","}",".def","User","config","files",",","self.userCfg","--","for","config_type","in","self.config_types",":","(","user","home","dir",")","\/.idlerc\/config-","{","config-type","}",".cfg"]
docstr: Return the currently active name for Theme or Keys section.
  
  idlelib.config-main.def ('default') includes these sections
  
  [Theme]
  default= 1
  name= IDLE Classic
  name2=
  
  [Keys]
  default= 1
  name=
  name2=
  
  Item 'name2', is used for built-in ('default') themes and keys
  added after 2015 Oct 1 and 2016 July 1.  This kludge is needed
  because setting 'name' to a builtin not defined in older IDLEs
  to display multiple error messages or quit.
  See https://bugs.python.org/issue25313.
  When default = True, 'name2' takes precedence over 'name',
  while older IDLEs will just use name.  When default = False,
  'name2' may still be set, but it is ignored.
docstr_tok: ["Return","the","currently","active","name","for","Theme","or","Keys","section",".","idlelib.config-main.def","(","'default","'",")","includes","these","sections","[","Theme","]","default=","1","name=","IDLE","Classic","name2=","[","Keys","]","default=","1","name=","name2=","Item","'name2","'",",","is","used","for","built-in","(","'default","'",")","themes","and","keys","added","after","2015","Oct","1","and","2016","July","1",".","This","kludge","is","needed","because","setting","'name","'","to","a","builtin","not","defined","in","older","IDLEs","to","display","multiple","error","messages","or","quit",".","See","https",":","\/\/bugs.python.org\/issue25313",".","When","default","=","True",",","'name2","'","takes","precedence","over","'name","'",",","while","older","IDLEs","will","just","use","name",".","When","default","=","False",",","'name2","'","may","still","be","set",",","but","it","is","ignored","."]
code: def current_colors_and_keys(self, section):
      """Return the currently active name for Theme or Keys section.
  
      idlelib.config-main.def ('default') includes these sections
  
      [Theme]
      default= 1
      name= IDLE Classic
      name2=
  
      [Keys]
      default= 1
      name=
      name2=
  
      Item 'name2', is used for built-in ('default') themes and keys
      added after 2015 Oct 1 and 2016 July 1.  This kludge is needed
      because setting 'name' to a builtin not defined in older IDLEs
      to display multiple error messages or quit.
      See https://bugs.python.org/issue25313.
      When default = True, 'name2' takes precedence over 'name',
      while older IDLEs will just use name.  When default = False,
      'name2' may still be set, but it is ignored.
      """
      cfgname = "highlight" if section == "Theme" else "keys"
      default = self.GetOption(
          "main", section, "default", type="bool", default=True
      )
      name = ""
      if default:
          name = self.GetOption("main", section, "name2", default="")
      if not name:
          name = self.GetOption("main", section, "name", default="")
      if name:
          source = self.defaultCfg if default else self.userCfg
          if source[cfgname].has_section(name):
              return name
      return (
          "IDLE Classic" if section == "Theme" else self.default_keys()
      )
  
imports: from configparser import ConfigParser
  import os
  import sys
  from tkinter.font import Font
  import idlelib
label_desc: Use image node_id 11 for calling the IdleConf obj's underlying member method code with example usage: obj.current_colors_and_keys(section) and returns: unknown, name