U :e%@sddlmZddlZddlmZddlZdaddZddZdd Z d d Z d d Z ddZ ddZ ddZddZddZddZddZddZedkrddlmZed d!d"dS)#) expanduserN)platformcCsjtdkrbt}|jdd}d|kr,dan,d|kr:dand|jd d d krTd and a|ndadS)NdarwintkZwindowingsystemZx11xquartzZaquaotherZAppKitZwinfoZserver.cocoacarbon)rtkinterZTkrcall_tk_typeZdestroy)rootZwsr3/usr/local/python38/lib/python3.8/idlelib/macosx.py _init_tk_types rcCsts ttdkptdkS)Nr r r rrrrrisAquaTk%srcCsts ttdkS)Nr rrrrr isCarbonTk-srcCsts ttdkS)Nr rrrrr isCocoaTk6srcCsts ttdkS)Nrrrrrr isXQuartz>srcCs2tr*|jdd}|dkr dSd|SdSdS)Ninfo patchlevel)z8.5.7z8.5.9FzWARNING: The version of Tcl/Tk ({0}) in use may be unstable. Visit http://www.python.org/download/mac/tcltk/ for current information.)rrr format)rrrrrtkVersionWarningGs rc Cs^tdkr dStd}z.t|d}t|W5QRWSQRXWntk rXYdSXdS)Nrz.~/Library/Preferences/.GlobalPreferences.plistrb)rropenplistlibloadOSError)Z plist_pathZ plist_filerrrreadSystemPreferences\s "r cCs,tdkr dSt}|r(|ddkr(dSdS)NrZAppleWindowTabbingModealwayszWARNING: The system preference "Prefer tabs when opening documents" is set to "Always". This will cause various problems with IDLE. For the best experience, change this setting when running IDLE (via System Preferences -> Dock).)rr get)ZprefsrrrpreferTabsPreferenceWarningksr#csfdd}|d|dS)Ncs|D]}|qdSN)r)argsfnflistrr doOpenFilesz'addOpenEventSupport..doOpenFilez::tk::mac::OpenDocument) createcommand)rr(r)rr'raddOpenEventSupports r+cCs.z|jddWntjk r(YnXdS)NZconsoleZhide)rr r ZTclErrorrrrr hideTkConsolesr-c sddlm}ddlm}ddlm|jddd}|jdddd=|jddd||jd ddd =|jdddd =|}j|d i}||d dd |d <}|jd|dd|ffdd } |d$fdd } d%fdd } d&fdd }  d|  d|  d| rR dj  dj t r||ddd |d<}|jd|d |jddd!dgftrĈ d"|  d#| |jd dd=dS)'Nr)Menu)mainmenuwindow)menur1)nameZtearoffZWindow)labelr8Z underlinecs8|d}|dkrd}|dkr*|d||dS)Nendr6r)indexdeleteZadd_windows_to_menu)r8r;r0rrpostwindowsmenus   z)overrideRootMenu..postwindowsmenucsddlm}|dS)Nr) help_about)idlelibr?Z AboutDialog)eventr?r,rr about_dialogs z&overrideRootMenu..about_dialogcs$ddlm}j_|ddS)Nr) configdialogZSettings)r@rCZ inversedictZ instance_dictZ ConfigDialog)rArC)r(rrr config_dialogs z'overrideRootMenu..config_dialogcsddlm}|dS)Nr)help)r@rEZ show_idlehelp)rArEr,rr help_dialogs z%overrideRootMenu..help_dialog<>z<>z::tk::mac::ShowPreferencesz<>exitZappleZ applicationZIDLE)r:r8)z About IDLErGZ tkAboutDialogz::tk::mac::ShowHelp)N)N)N)r r.r@r/r1ZmenudefsinsertZ configureZ add_cascadeZregister_callbackbindr*Zclose_all_callbackrr) rr(r.r/Z closeItemZmenubarZmenudictr8r>rBrDrFr)r(rr1roverrideRootMenusN           rKcCs(|dd|dd|dddS)NZTextzz z<>)Z unbind_classr,rrr fixb2contexts  rLcCs.tr*t|t||t||t|dSr$)rr-rKr+rL)rr(rrrsetupApps   rM__main__)mainzidlelib.idle_test.test_macosxr7) verbosity)Zos.pathrrsysrr r rrrrrrr r#r+r-rKrLrM__name__ZunittestrOrrrrs(    h