
    z%i?$                         	 d dl mZ d dlZd dlmZ d dlZdad Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zedk(  rd dlmZ  edd       yy)    )
expanduserN)platformc                  N   	 t         dk(  rddlm}  | rddlm}m} 	  |d       t        j                         }|j                  j                  dd      }d	|v rd
an+d|vrdan$d|j                  j                  ddd      v rdanda|j                          y day # |$ r daY y w xY w)Ndarwinr   )testing)requiresResourceDeniedguicocoatkwindowingsystemx11xquartzaquaotherAppKitwinfoserver.carbon)r   idlelib.__init__r   test.supportr   r	   _tk_typetkinterTkr   calldestroy)r   r   r	   rootwss        B/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/idlelib/macosx.py_init_tk_typer!      s    
 8
 	-=
 zz|WW\\$ 12B; H2Hgx==HH  
# " "s   B B$#B$c                  L    	 t         s
t                t         dk(  xs	 t         dk(  S )Nr   r   r   r!        r    isAquaTkr&   3   s&     w6(h"66r%   c                  6    	 t         s
t                t         dk(  S )Nr   r#   r$   r%   r    
isCarbonTkr(   ;   s     xr%   c                  6    	 t         s
t                t         dk(  S )Nr   r#   r$   r%   r    	isCocoaTkr*   D   s     wr%   c                  6    	 t         s
t                t         dk(  S )Nr   r#   r$   r%   r    	isXQuartzr,   L   s     y  r%   c                      	 t         dk7  ry t        d      } 	 t        | d      5 }t        j                  |      cd d d        S # 1 sw Y   y xY w# t
        $ r Y y w xY w)Nr   z.~/Library/Preferences/.GlobalPreferences.plistrb)r   r   openplistlibloadOSError)
plist_path
plist_files     r    readSystemPreferencesr5   U   sb     8LMJ*d# 	-z==,	- 	- 	- s-   A A	A AA A 	AAc                  ^    	 t         dk7  ry t               } | r| j                  d      dk(  r	 yy )Nr   AppleWindowTabbingModealwayszWARNING: 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).)r   r5   get)prefss    r    preferTabsPreferenceWarningr;   d   s?     8!#E34@>	
 r%   c                 6    	 fd}| j                  d|       y )Nc                  6    | D ]  }j                  |        y N)r/   )argsfnflists     r    
doOpenFilez'addOpenEventSupport.<locals>.doOpenFile}   s     	BJJrN	r%   z::tk::mac::OpenDocument)createcommand)r   rA   rB   s    ` r    addOpenEventSupportrD   x   s      	0*=r%   c                 p    	 | j                   j                  dd       y # t        j                  $ r Y y w xY w)Nconsolehide)r   r   r   TclErrorr   s    r    hideTkConsolerJ      s1    Y' s    55c                     	 ddl m} ddlm} ddlm |j
                  d   d   d   }|j
                  d   d   dd = |j
                  d   d   j                  d|       |j
                  d	   d   dd
= |j
                  d   d   dd
=  |       } j                  |        ||dd      }|j                  d|d       |ffd	}j                  |       d  fd	}d  fd	}	d  fd	}
 j                  d|        j                  d|	        j                  d|	       r8 j                  dj                          j                  dj                         t               r> ||dd      }|j                  d|       |j
                  j                  dddd gf       t               r8 j                  d|        j                  d|
       |j
                  d	   d   d= y y )!Nr   )Menu)mainmenu)window         )menurN   )nametearoffWindow)labelrU   	underlinec                     | j                  d      }|d}|dkD  r| j                  d|       j                  |        y )NendrS   r   )indexdeleteadd_windows_to_menu)rU   r\   rN   s     r    postwindowsmenuz)overrideRootMenu.<locals>.postwindowsmenu   s>    jj;C7KK3""4(r%   c                 6    	 ddl m} |j                         y )Nr   )
help_about)idlelibrb   AboutDialog)eventrb   r   s     r    about_dialogz&overrideRootMenu.<locals>.about_dialog   s    )&t$r%   c                 Z    	 ddl m} j                  _        |j	                  d       y )Nr   )configdialogSettings)rc   rh   inversedictinstance_dictConfigDialog)re   rh   rA   r   s     r    config_dialogz'overrideRootMenu.<locals>.config_dialog   s)    0( #..!!$
3r%   c                 6    	 ddl m} |j                         y )Nr   )help)rc   ro   show_idlehelp)re   ro   r   s     r    help_dialogz%overrideRootMenu.<locals>.help_dialog   s    ( 4 r%   <<about-idle>>z<<open-config-dialog>>z::tk::mac::ShowPreferencesz<<close-all-windows>>exitappleIDLE)rY   rU   application)z
About IDLErr   tkAboutDialogz::tk::mac::ShowHelpr>   )r   rL   rc   rM   rN   menudefsinsert	configureadd_cascaderegister_callbackbindrC   close_all_callbackr(   r*   )r   rA   rL   rM   	closeItemmenubarrU   r`   rf   rm   rq   rN   s   ``         @r    overrideRootMenur      s     !!!$Q'+I
 	!Q$a""1i0 	"a 1% 	"a 1%4jGNNN h2DhTQ?! ) _-%
4! 	II-II&63]C		)5+C+CD
 	65#;#;<|G'15&t4  0 	
 {?L90+>b!!$Q' r%   c                 r    	 | j                  dd       | j                  dd       | j                  dd       y )NTextz<B2>z<B2-Motion>z<<PasteSelection>>)unbind_classrI   s    r    fixb2contextr      s:    
 	ff%fm,f23r%   c                 x    	 t               r/t        |        t        | |       t        | |       t	        |        y y r>   )r&   rJ   r   rD   r   )r   rA   s     r    setupAppr      s7     zdu%D%(T	 r%   __main__)mainzidlelib.idle_test.test_macosxrT   )	verbosity)os.pathr   r0   sysr   r   r   r!   r&   r(   r*   r,   r5   r;   rD   rJ   r   r   r   __name__unittestr   r$   r%   r    <module>r      s{        !F7 !(>d(L4. z	(A6 r%   