Hacked By AnonymousFox

Current Path : /opt/alt/python37/lib64/python3.7/idlelib/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/idlelib/__pycache__/macosx.cpython-37.pyc

B

� f�%�@s�dZddlmZddlZddlmZddlZdadd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zedkr�dd lmZed!d"d#�dS)$z3
A number of functions that enhance IDLE on macOS.
�)�
expanduserN)�platformcCsjtdkrbt��}|j�dd�}d|kr,dan,d|kr:dand|j�d	d
d�krTdand
a|��ndadS)zl
    Initializes OS X Tk variant values for
    isAquaTk(), isCarbonTk(), isCocoaTk(), and isXQuartz().
    �darwin�tkZwindowingsystemZx11�xquartzZaqua�otherZAppKitZwinfoZserver�.�cocoa�carbonN)r�tkinterZTkr�call�_tk_typeZdestroy)�rootZws�r�3/opt/alt/python37/lib64/python3.7/idlelib/macosx.py�
_init_tk_types
rcCsts
t�tdkptdkS)zK
    Returns True if IDLE is using a native OS X Tk (Cocoa or Carbon).
    r	r
)r
rrrrr�isAquaTk%srcCsts
t�tdkS)zb
    Returns True if IDLE is using a Carbon Aqua Tk (instead of the
    newer Cocoa Aqua Tk).
    r
)r
rrrrr�
isCarbonTk-srcCsts
t�tdkS)z8
    Returns True if IDLE is using a Cocoa Aqua Tk.
    r	)r
rrrrr�	isCocoaTk6srcCsts
t�tdkS)z7
    Returns True if IDLE is using an OS X X11 Tk.
    r)r
rrrrr�	isXQuartz>srcCs2t�r*|j�dd�}|dkr dSd�|�SdSdS)a2
    Returns a string warning message if the Tk version in use appears to
    be one known to cause problems with IDLE.
    1. Apple Cocoa-based Tk 8.5.7 shipped with Mac OS X 10.6 is unusable.
    2. Apple Cocoa-based Tk 8.5.9 in OS X 10.7 and 10.8 is better but
        can still crash unexpectedly.
    �info�
patchlevel)z8.5.7z8.5.9Fz�WARNING: The version of Tcl/Tk ({0}) in use may be unstable.
Visit http://www.python.org/download/mac/tcltk/ for current information.N)rrr�format)rrrrr�tkVersionWarningGs	rc	CsNtdkrdStd�}y t|d��}t�|�SQRXWntk
rHdSXdS)z-
    Fetch the macOS system preferences.
    rNz.~/Library/Preferences/.GlobalPreferences.plist�rb)rr�open�plistlib�load�OSError)Z
plist_pathZ
plist_filerrr�readSystemPreferences\srcCs,tdkrdSt�}|r(|�d�dkr(dSdS)zJ
    Warn if "Prefer tabs when opening documents" is set to "Always".
    rNZAppleWindowTabbingMode�alwaysz�WARNING: 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)Zprefsrrr�preferTabsPreferenceWarningksr"cs�fdd�}|�d|�dS)z�
    This ensures that the application will respond to open AppleEvents, which
    makes is feasible to use IDLE as the default application for python files.
    csx|D]}��|�qWdS)N)r)�args�fn)�flistrr�
doOpenFile�s
z'addOpenEventSupport.<locals>.doOpenFilez::tk::mac::OpenDocumentN)�
createcommand)rr%r&r)r%r�addOpenEventSupportsr(cCs.y|j�dd�Wntjk
r(YnXdS)NZconsoleZhide)rrrZTclError)rrrr�
hideTkConsole�sr)cs�ddlm}ddlm}ddlm�|jddd}|jdddd�=|jdd�d	|�|jd
ddd�=|jdddd�=|��}�j|d�i}||d
dd�|d
<}|jd|dd�|f�fdd�	}��	|�d%�fdd�	}	d&��fdd�	}
d'�fdd�	}��
d|	���
d|
���d|
���rR��
d�j���d�j�t
��r�||ddd�|d<}|jd |d!�|j�ddd"dgf�t��rĈ�d#|	���d$|�|jd
dd=dS)(zf
    Replace the Tk root menu by something that is more appropriate for
    IDLE with an Aqua Tk.
    r)�Menu)�mainmenu)�window�������N�����)�menur,)�nameZtearoffZWindow)�labelr3Z	underlinecs8|�d�}|dkrd}|dkr*|�d|���|�dS)N�endr1r)�index�deleteZadd_windows_to_menu)r3r6)r,rr�postwindowsmenu�s
z)overrideRootMenu.<locals>.postwindowsmenucsddlm}|���dS)zHandle Help 'About IDLE' event.r)�
help_aboutN)�idlelibr:ZAboutDialog)�eventr:)rrr�about_dialog�sz&overrideRootMenu.<locals>.about_dialogcs$ddlm}�j�_|��d�dS)z&Handle Options 'Configure IDLE' event.r)�configdialogZSettingsN)r;r>ZinversedictZ
instance_dictZConfigDialog)r<r>)r%rrr�
config_dialog�sz'overrideRootMenu.<locals>.config_dialogcsddlm}|���dS)zHandle Help 'IDLE Help' event.r)�helpN)r;r@Z
show_idlehelp)r<r@)rrr�help_dialog�sz%overrideRootMenu.<locals>.help_dialogz<<about-idle>>z<<open-config-dialog>>z::tk::mac::ShowPreferencesz<<close-all-windows>>�exitZappleZapplicationZIDLE)r5r3)z
About IDLEz<<about-idle>>Z
tkAboutDialogz::tk::mac::ShowHelp)N)N)N)rr*r;r+r,Zmenudefs�insertZ	configureZadd_cascadeZregister_callbackZbindr'Zclose_all_callbackrr)rr%r*r+Z	closeItemZmenubarZmenudictr3r9r=r?rAr)r%rr,r�overrideRootMenu�sH

rDcCs(|�dd�|�dd�|�dd�dS)z�Removed bad AquaTk Button-2 (right) and Paste bindings.

    They prevent context menu access and seem to be gone in AquaTk8.6.
    See issue #24801.
    ZTextz<B2>z<B2-Motion>z<<PasteSelection>>N)Zunbind_class)rrrr�fixb2context�srEcCs.t�r*t|�t||�t||�t|�dS)a�
    Perform initial OS X customizations if needed.
    Called from pyshell.main() after initial calls to Tk()

    There are currently three major versions of Tk in use on OS X:
        1. Aqua Cocoa Tk (native default since OS X 10.6)
        2. Aqua Carbon Tk (original native, 32-bit only, deprecated)
        3. X11 (supported by some third-party distributors, deprecated)
    There are various differences among the three that affect IDLE
    behavior, primarily with menus, mouse key events, and accelerators.
    Some one-time customizations are performed here.
    Others are dynamically tested throughout idlelib by calls to the
    isAquaTk(), isCarbonTk(), isCocoaTk(), isXQuartz() functions which
    are initialized here as well.
    N)rr)rDr(rE)rr%rrr�setupApps


rF�__main__)�mainzidlelib.idle_test.test_macosxr2)�	verbosity)�__doc__Zos.pathrr�sysrrr
rrrrrrrr"r(r)rDrErF�__name__ZunittestrHrrrr�<module>s*		h


Hacked By AnonymousFox1.0, Coded By AnonymousFox