a  ze%@sddlmZddlZddlmZddlZdaddZddZdd Z d d Z d d Z ddZ ddZ ddZddZddZddZddZddZedkrddlmZed d!d"dS)#) expanduserN)platformcCsjtdkrbt}|jdd}d|vr,dan,d|vr:dand|jd d d vrTd and a|ndadS)NdarwintkZwindowingsystemZx11xquartzZaquaotherZAppKitZwinfoZserver.cocoacarbon)rtkinterZTkrcall_tk_typeZdestroy)rootwsrB/opt/bitninja-python-dojo/embedded/lib/python3.9/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}|dvr dSd|SdSdS)Ninfo patchlevel)z8.5.7z8.5.9FzWARNING: The version of Tcl/Tk ({0}) in use may be unstable. Visit https://www.python.org/download/mac/tcltk/ for current information.)rrr format)rrrrrtkVersionWarningGs rcCshtdkr dStd}z:t|d}t|WdWS1sB0YWntybYdS0dS)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|jddWntjy&Yn0dS)NZconsolehide)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)menur3)nameZtearoffZWindow)labelr:Z underlinecs8|d}|durd}|dkr*|d||dS)Nendr8r)indexdeleteZadd_windows_to_menu)r:r=r2rrpostwindowsmenus   z)overrideRootMenu..postwindowsmenucsddlm}|dS)Nr) help_about)idlelibrAZ AboutDialog)eventrAr.rr about_dialogs z&overrideRootMenu..about_dialogcs$ddlm}j_|ddS)Nr) configdialogZSettings)rBrEZ inversedictZ instance_dictZ ConfigDialog)rCrE)r)rrr config_dialogs z'overrideRootMenu..config_dialogcsddlm}|dS)Nr)help)rBrGZ show_idlehelp)rCrGr.rr help_dialogs z%overrideRootMenu..help_dialog<>z<>z::tk::mac::ShowPreferencesz<>exitZappleZ applicationZIDLE)r<r:)z About IDLErIZ tkAboutDialogz::tk::mac::ShowHelp)N)N)N)r r0rBr1r3ZmenudefsinsertZ configureZ add_cascadeZregister_callbackbindr+Zclose_all_callbackrr) rr)r0r1Z closeItemZmenubarZmenudictr:r@rDrFrHr)r)rr3roverrideRootMenusN           rMcCs(|dd|dd|dddS)NTextzz z<>)Z unbind_classr.rrr fixb2contexts  rOcCs.tr*t|t||t||t|dSr%)rr/rMr,rO)rr)rrrsetupApps   rP__main__)mainzidlelib.idle_test.test_macosxr9) verbosity)Zos.pathrrsysrr r rrrrrrr!r$r,r/rMrOrP__name__ZunittestrRrrrrs(    h