
    f                        d dl Z d dlZ d dlZd dlZd dlZd dlmZ d dlmZ 	 d dl	m
Z
mZmZmZ d dlmZ dZ	 e j$                  j'                  d      Ze j$                  j'                  d	      Ze j2                  Ze j6                  Zeej:                  _        eej>                  _         e j@                  eeee      Z! e!defd      Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)dee*gdf   ddfdZ+y# e$ r dZY w xY w# e$ rk e j$                  j'                  e j.                  j1                  d
            Ze j$                  j'                  e j.                  j1                  d            ZY w xY w)    N)Path)Callable)NSObjectNSKeyValueObservingOptionNewNSKeyValueChangeNewKeyNSUserDefaults)	AppHelperTFzAppKit.framework/AppKitzlibobjc.dylibAppKitobjcobjc_msgSend)    Nr   r   c                 H    t        | t              s| j                  d      } | S )Nutf8)
isinstancebytesencode)ss    n/var/dept/share/cheung/public_html/OutSchool/python/env/lib/python3.12/site-packages/darkdetect/_mac_detect.py_utf8r   *   s    aHHVH    c                 >    t         j                  t        |             S N)r   sel_registerNamer   )names    r   nr   /   s      t--r   c                 >    t         j                  t        |             S r   )r   objc_getClassr   )	classnames    r   Cr!   2   s    eI.//r   c                     t         j                  d      } t        | t        d            }t        |t        d            }t	        d      }t        |t        d            }t	        d      }t        |t        d      t        d            }t        |t        d	      t        |            }t        |t        d
            }|t        j                  |      }nd }t        |t        d             ||j                  d      S y)NNSAutoreleasePoolallocinitr   standardUserDefaultsNSStringzstringWithUTF8String:AppleInterfaceStylezstringForKey:
UTF8Stringreleasezutf-8Light)
r   r   msgr   r!   r   void_pctypes	string_atdecode)	r#   poolr   
stdUserDefr'   keyappearanceNSappearanceCouts	            r   themer7   5   s    **+>? !G*-DtQvYD'(N^Q'=%>?J}H
h12E:O4P
QCz1_#5vc{CLlAlO4K{+a	l
zz'""r   c                      t               dk(  S )NDarkr7    r   r   isDarkr<   O   s    7fr   c                      t               dk(  S )Nr+   r:   r;   r   r   isLightr>   R   s    7gr   c                     ddl } | j                  | j                  | j                         d} G d dt              }|j	                         }t        j                         }|j                  ||t        d       t        j                          y)zO
    Run by a child process, install an observer and print theme on change
    r   Nr(   c                       e Zd Zd Zy)_listen_child.<locals>.Observerc                     |t            }	 t        |dn| d       y # t        $ r t        j                  d       Y y w xY w)Nr+   T)flushr   )r   printIOErroros_exit)selfpathobjectchangeDescriptioncontextresults         r   /observeValueForKeyPath_ofObject_change_context_zO_listen_child.<locals>.Observer.observeValueForKeyPath_ofObject_change_context_`   sA     ''=>FFN?M s    ??N)__name__
__module____qualname__rN   r;   r   r   ObserverrA   _   s    	r   rR   )signalSIGINTSIG_IGNr   newr   r&   'addObserver_forKeyPath_options_context_r   r	   runConsoleEventLoop)rS   OBSERVED_KEYrR   observerdefaultss        r   _listen_childr\   V   so     
MM&--0(L8  ||~H224H44, <a !!#r   callbackreturnc                 <   t         s
t               t        j                  t        j
                  ddft        j                  dt        t              j                        5 }|j                  D ]  } | |j                                 	 d d d        y # 1 sw Y   y xY w)Nz-cz*import _mac_detect as m; m._listen_child()T)stdoutuniversal_newlinescwd)_can_listenNotImplementedError
subprocessPopensys
executablePIPEr   __file__parentr`   strip)r]   plines      r   listenerro   r   s}    !##				KLN!!	
 #
 
HH 	#DTZZ\"	## # #s    (BB),r.   ctypes.utilre   rg   rF   pathlibr   typingr   
Foundationr   r   r   r   PyObjCToolsr	   rc   ModuleNotFoundErrorcdllLoadLibraryappkitr   OSErrorutilfind_libraryc_void_pr-   c_uint64ullr   restyper   	CFUNCTYPEMSGPROTOTYPEr,   r   r   r!   r7   r<   r>   r\   strro   r;   r   r   <module>r      sj      
 	  ii%K
E[[$$%>?F;;""?3D 
oo#    &     v?ND)+XY
.04$8
#xt, 
# 
#  K  E[[$$V[[%=%=h%GHF;;""6;;#;#;F#CDDEs#   C+ 6C8 +C54C58A-E('E(