
    ;e$                         	 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           dS dS )    )
expanduserN)platformc                  `   	 t           dk    rddlm}  | r#ddlm}m} 	  |d           n# |$ r daY d S w xY wt          j                    }|j	        
                    dd          }d	|v rd
an*d|vrdan#d|j	        
                    ddd          v rdanda|                                 ndad S )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        %/usr/lib/python3.11/idlelib/macosx.py_init_tk_typer!      s
   
 8
 	-,,,,, 	========!   " z||W\\$ 122B;; HH2HHgx====HHH
Fs   * 55c                  Z    	 t           st                       t           dk    p
t           dk    S )Nr   r   r   r!        r    isAquaTkr&   3   s/      w6(h"66r%   c                  D    	 t           st                       t           dk    S )Nr   r#   r$   r%   r    
isCarbonTkr(   ;   s%      xr%   c                  D    	 t           st                       t           dk    S )Nr   r#   r$   r%   r    	isCocoaTkr*   D   s%      wr%   c                  D    	 t           st                       t           dk    S )Nr   r#   r$   r%   r    	isXQuartzr,   L   s%      y  r%   c                      	 t           dk    rd S t          d          } 	 t          | d          5 }t          j        |          cd d d            S # 1 swxY w Y   d S # t
          $ r Y d S w xY w)Nr   z.~/Library/Preferences/.GlobalPreferences.plistrb)r   r   openplistlibloadOSError)
plist_path
plist_files     r    readSystemPreferencesr5   U   s     8tLMMJ*d## 	-z=,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-   tts4   A AA AA AA 
A+*A+c                  z    	 t           dk    rd S t                      } | r|                     d          dk    r	 dS d S )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   sY     8t!##E 
344@@>	
 	
 4r%   c                 @    	 fd}|                      d|           d S )Nc                  <    | D ]}                     |           d S N)r/   )argsfnflists     r    
doOpenFilez'addOpenEventSupport.<locals>.doOpenFile}   s-     	 	BJJrNNNN	 	r%   z::tk::mac::OpenDocument)createcommand)r   rA   rB   s    ` r    addOpenEventSupportrD   x   s@         	0*=====r%   c                 j    	 | j                             dd           d S # t          j        $ r Y d S w xY w)Nconsolehide)r   r   r   TclErrorr   s    r    hideTkConsolerJ      sH    Y'''''   s    22c                 r    	 ddl m} ddlm} ddlm |j        d         d         d         }|j        d         d         dd = |j        d         d                             d|           |j        d	         d         dd
= |j        d         d         dd
=  |           }                     |           i } ||dd          x|d<   }|                    d|d           |ffd	}	                    |           d  fd	}	d  fd	}
d  fd	} 
                    d|	            
                    d|
                                d|
           r6 
                    dj                                        dj                   t                      rI ||dd          x|d<   }|                    d|           |j                            dddd gf           t                      rB                     d|	                                d|           |j        d	         d         d= d S d S )!Nr   )Menu)mainmenu)window         )menurN   )nametearoffWindow)labelrU   	underlinec                     |                      d          }|d}|dk    r|                     d|                               |            d S )NendrS   r   )indexdeleteadd_windows_to_menu)rU   r\   rN   s     r    postwindowsmenuz)overrideRootMenu.<locals>.postwindowsmenu   sU    jj;C77KK3""4(((((r%   c                 @    	 ddl m} |                               d S )Nr   )
help_about)idlelibrb   AboutDialog)eventrb   r   s     r    about_dialogz&overrideRootMenu.<locals>.about_dialog   s2    )&&&&&&t$$$$$r%   c                 Z    	 ddl m} j        _        |                    d           d S )Nr   )configdialogSettings)rc   rh   inversedictinstance_dictConfigDialog)re   rh   rA   r   s     r    config_dialogz'overrideRootMenu.<locals>.config_dialog   sA    0(((((( #.!!$
33333r%   c                 @    	 ddl m} |                               d S )Nr   )help)rc   ro   show_idlehelp)re   ro   r   s     r    help_dialogz%overrideRootMenu.<locals>.help_dialog   s2    (      4     r%   <<about-idle>>z<<open-config-dialog>>z::tk::mac::ShowPreferencesz<<close-all-windows>>exitappleapplicationIDLE)rY   rU   )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menubarmenudictrU   r`   rf   rm   rq   rN   s   ``          @r    overrideRootMenur      s           !!$Q'+I
 	!Q$a""1i000 	"a 1% 	"a 1%d4jjGNNN   H $W8Q G G GGHXhTQ???! ) ) ) ) ) ) _---% % % % % %
4 
4 
4 
4 
4 
4 
4! ! ! ! ! ! 	II---II&6663]CCC =		)5+CDDD
 	65#;<<<|| 	)-gG67*9 *9 *9 	9$&t444  0 	 	 	
 {{ (?L9990+>>>b!!$Q'''( (r%   c                     	 |                      dd           |                      dd           |                      dd           d S )NTextz<B2>z<B2-Motion>z<<PasteSelection>>)unbind_classrI   s    r    fixb2contextr      sR    
 	ff%%%fm,,,f233333r%   c                     	 t                      r@t          |            t          | |           t          | |           t	          |            d S d S r>   )r&   rJ   r   rD   r   )r   rA   s     r    setupAppr      sa     zz 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      sE                 ! ! !F7 7 7       ! ! !    (> > >  f( f( f(P4 4 4  . zD	(A666666 r%   