+
    Qi*  c                  st  a  0 t $ R t^ RIHt RtRtRtRtRt^ RI	t	^ RI
t
^ RIt^ RIt^ RIHtHt ^ RIt]P"                  ! R	R
4       ^ RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIH t  ^RI!H"t" ]'       d   ^RI#H$t$  ! R R4      t%]%! 4       t&R]'R&   R R lt(R# )Provides debugging tools.)annotationsz$Id$z
$Revision$z$Date$zGCopyright (c) 2024 Igalia, S.L.Copyright (c) 2024 GNOME Foundation Inc.ZLGPLN)	GeneratorTYPE_CHECKINGAtspiz2.0)r   )cmdnames)debug)focus_manager)input_event)keybindings)messages)orca_platform)settings_manager)AXObject)AXUtilities)AXUtilitiesDebugging)defaultc                  s    ] tR t^>tRtR R ltRR R lltRR R lltR R	 ltR
 R lt	RR R llt
RR R lltRR R lltR R ltRR R lltRR R lltRtR# )DebuggingToolsManagerr    c                   V ^8  d   QhRR/#    returnNone Zformat   "A/usr/lib/python3.14/site-packages/orca/debugging_tools_manager.py__annotate__"DebuggingToolsManager.__annotate__A   s     3 3$ 3    c                	s   V P                  R 4      V n        \        P                  ! 4       V n        \
        P                  '       df   \        P                  P                  \
        P                  P                  4      '       d)   \        P                  ! \
        P                  R R7       R# \        P                  ! RR7       R# )T)Zfileall_threadsF)r   N)get_handlers	_handlersr	   KeyBindings	_bindingsr   Z	debugFileosZpathZexistsnamefaulthandlerZenableself   &r   __init__ZDebuggingToolsManager.__init__A   sl    CGCTCTUYCZ2=2I2I2K???rww~~eoo.B.BCCU__$GE2r   c               $    V ^8  d   QhRRRRRR/# )r   refreshbool
is_desktopr   zkeybindings.KeyBindingsr   r   r   r   r   r   J   s$      15	 r   c                sN   V'       dc   RV 2p\         P                  ! \         P                  VR4       V P                  P	                  R4       V P                  4        V P                  # V P                  P                  4       '       d   V P                  4        V P                  # )z0Returns the debugging-tools-manager keybindings.z:DEBUGGING TOOLS MANAGER: Refreshing bindings. Is desktop: Tz-DEBUGGING TOOLS MANAGER: Refreshing bindings.)r   print_message
LEVEL_INFOr"   Zremove_key_grabs_setup_bindingsZis_empty)r'   r+   r-   msgs   &&& r   get_bindingsZ"DebuggingToolsManager.get_bindingsJ   s    
 Nzl[C 0 0#t<NN++,[\  " ~~ ^^$$&&  "~~r   c                    V ^8  d   QhRRRR/# )r   r+   r,   r   z(dict[str, input_event.InputEventHandler]r   r   r   r   r   r   Y   s      D 5] r   c                s    V'       d9   Rp\         P                  ! \         P                  VR4       V P                  4        V P                  # )z-Returns the debugging-tools-manager handlers.z-DEBUGGING TOOLS MANAGER: Refreshing handlers.T)r   r.   r/   _setup_handlersr    )r'   r+   r1   s   && r   r   Z"DebuggingToolsManager.get_handlersY   s:     AC 0 0#t<  "~~r   c               r   r   r   r   r   r   r   r   c   s     1 1 1r   c                s|   / V n         \        P                  ! V P                  \        P
                  4      V P                   R&   \        P                  ! V P                  \        P                  4      V P                   R&   \        P                  ! V P                  \        P                  4      V P                   R&   R# )zESets up and returns the debugging-tools-manager input event handlers.cycleDebugLevelHandlerclear_atspi_app_cachecapture_snapshotN)
r    r   ZInputEventHandler_cycle_debug_levelr   ZDEBUG_CYCLE_LEVEL_clear_atspi_app_cacheZ'DEBUG_CLEAR_ATSPI_CACHE_FOR_APPLICATION_capture_snapshotZDEBUG_CAPTURE_SNAPSHOTr&   r(   r   r4   Z%DebuggingToolsManager._setup_handlersc   s      ))''**, 	/0 ))++@@B 	./ ))&&//1 	)*r   c               r   r   r   r   r   r   r   r   w   s     "3 "3 "3r   c           
     s   \         P                  ! 4       V n        V P                  P                  \         P                  ! R\         P
                  \         P                  V P                  R,          ^R4      4       V P                  P                  \         P                  ! R\         P
                  \         P                  V P                  R,          ^R4      4       V P                  P                  \         P                  ! R\         P
                  \         P                  V P                  R,          ^R4      4       \        P                  ! 4       P                  V P                  V P                  R4      V n        R# )z=Sets up and returns the debugging-tools-manager key bindings. r5   Tr6   r7   FN)r	   r!   r"   ZaddZ
KeyBindingZDEFAULT_MODIFIER_MASKZNO_MODIFIER_MASKr    r   get_managerZoverride_key_bindingsr&   r(   r   r0   Z%DebuggingToolsManager._setup_bindingsw   s    %002""11,,78	 	""11,,67	 	""11,,12	 *557MMNNDNNE3r   Nc               $    V ^8  d   QhRRRRRR/# r   scriptzdefault.Script_eventzinput_event.InputEvent | Noner   r,   r   r   r   r   r   r      s$      $.K	r   c           
     s   \         P                  R\         P                  R\         P                  R\         P                  R\         P
                  R/p\        VP                  4       4      pVP                  \         P                  4      ^,           pV\        V4      8X  d   ^ pWE,          pVP                  V4      pV\         n	        VP                  RV R2V4       R# )	z)Cycles through the existing debug levels.ZallinfoZwarningZsevereZoffzDebug level .T)r   Z	LEVEL_ALLr/   ZLEVEL_WARNINGLEVEL_SEVEREZ	LEVEL_OFFZlistkeysZindex
debugLevellengetpresent_message)r'   r?   r@   ZlevelsrD   Z
next_levellevelZbriefs   &&&     r   r8   Z(DebuggingToolsManager._cycle_debug_level   s     OOUfOOU
 FKKM"ZZ 0 01A5
T"J 

5! eWA6>r   c               r=   r>   r   r   r   r   r   r      s$      $.K	r   c                s    \         P                  ! 4       P                  4       w  r4VfJ   Rp\        P                  ! \        P
                  VR4       VP                  \        P                  4       R# \        P                  ! V4      pVfJ   Rp\        P                  ! \        P
                  VR4       VP                  \        P                  4       R# VP                  \        P                  4       \        P                  ! VRRR7       R# )4Clears the AT-SPI cache for the current application.zGDEBUGGING TOOLS MANAGER: Cannot clear cache on null object of interest.Tz@DEBUGGING TOOLS MANAGER: Cannot clear cache on null application.zUser request.)Z	recursiveZreason)r   r<   Z&get_active_mode_and_object_of_interestr   r.   rE   rH   r
   ZDEBUG_CLEAR_CACHE_FAILEDr   Zget_applicationZDEBUG_CLEAR_CACHEr   Zclear_cache)r'   r?   r@   Z_modeZobjr1   app   &&&    r   r9   Z,DebuggingToolsManager._clear_atspi_app_cache   s    
 #..0WWY
;[C 0 0#t<""8#D#DE))#.;TC 0 0#t<""8#D#DEx99:SDIr   c               r=   r>   r   r   r   r   r   r      s$      $.K	r   c                s    VP                  \        P                  4       \        P                  p\        P
                  \        n        \        P                  ! \        P                  RR4       V P                  4        \        P                  ! 4       p\        P                  ! VP                  4       4      pRV 2p\        P                  ! \        P                  VR4       \        P                  ! VP                  4      pRV 2p\        P                  ! \        P                  VR4       \        P                  ! \        P                  RR4       VP                  \        P                  4       V\        n        R# )rJ   zDEBUGGING SNAPSHOT STARTINGTzOVERRIDDEN SETTINGS: zCUSTOMIZED SETTINGS: zDEBUGGING SNAPSHOT FINISHED)rH   r
   ZDEBUG_CAPTURE_SNAPSHOT_STARTr   rE   rC   r.   print_running_applicationsr   r<   r   Z	as_stringZ%get_overridden_settings_for_debuggingZcustomized_settingsZDEBUG_CAPTURE_SNAPSHOT_END)r'   r?   r@   Z	old_levelZmanagerrA   r1   rL   r   r:   Z'DebuggingToolsManager._capture_snapshot   s   
 	xDDE$$	 --E,,.KTR'')"..0#--g.[.[.]^%dV,E,,c48#--g.I.IJ%dV,E,,c48E,,.KTRxBBC$r   c               r3   )r   is_command_liner,   r   zGenerator[str, None, None]r   r   r   r   r   r      s      #	#r   c              #  s  "   \         P                  ! RR7      pR\        V4       R2pV'       g   RV 2pVx  \        V4       F  w  rE\         P                  ! V4      p\         P
                  ! V4      '       d   RpM \        P                  ! V4      ;'       g    Rp \        P                  ! RV R	24      pVP                  R
R4      pV'       d.   \        P                  ! R\        P                  ! 4       4      R p
MV^,           R R2p
V
 RVR RVR RV 2pVx  K  	  R#   \        P                   d   p	RT	 2p Rp	?	LzRp	?	ii ; i5i)zQGenerator providing strings with basic details about the running accessible apps.T)Zis_debugzDesktop has z app(s):DEBUGGING TOOLS MANAGER: z[UNRESPONSIVE]z[DEAD]z
cat /proc/z/cmdlineZ  zEXCEPTION: Nz%H:%M:%Sz<12Z3rB   z pid: z<10z<25)r   Zget_all_applicationsrF   Z	enumerateZget_process_idZis_application_unresponsiver   Zget_name
subprocessZ	getoutputZreplaceZSubprocessErrortimeZstrftimeZ	localtime)r'   rN   Zapplicationsr1   ZirK   Zpidr$   ZcmdlineZerrorZprefixs   &&         r   (_get_running_applications_as_string_iterZ>DebuggingToolsManager._get_running_applications_as_string_iter   s6    
 #77FS./x8-cU3C	-FA,,S1C66s;;'((-997$..C5/IJ "//&#6 MM*dnn6FGLaC7!HF3s)1T#JayACI% . -- 0'w/0s=   BEE D':EAE'E<EEEEc               r*   )r   forcer,   rN   r   r   r   r   r   r   r   r     s$     = ==48=	=r   c                s   V'       d   \         P                  pM\         P                  pV\         P                  8  d   V'       g   R# V P	                  V4       F/  pV'       d   \        V4       K  \         P                  ! W4R4       K1  	  R# )z?Prints basic details about the running accessible applications.NT)r   rC   r/   rE   rS   printr.   )r'   rT   rN   rI   Z
app_strings   &&&  r   rM   Z0DebuggingToolsManager.print_running_applications  sa    
 &&E$$E5###OGGXJj!##Et<	 Yr   c               r3   )r   rN   r,   r   r   r   r   r   r   r   r     s     = =T =d =r   c                s|   R\         P                   2p\         P                  '       d   VR\         P                   R2,          p\        P                  ! 4       pVRV^ ,           RV^,           RV^,           2,          p\
        P                  P                  R4      ;'       g    Rp\
        P                  P                  R4      ;'       g    RpV R	V 2P                  4       pV'       d   VR
V 2,          pV'       d   \        V4       R# RV 2p\        P                  ! \        P                  VR4       R# )z/Prints basic details about the current session.zOrca version z (rev Z)z, AT-SPI2 version: rB   ZXDG_SESSION_TYPEr;   ZXDG_SESSION_DESKTOPrP   z, Session: rO   TN)r   ZversionZrevisionr   Zget_versionr#   ZenvironrG   ZstriprU   r   r.   r/   )r'   rN   r1   Zatspi_versionZsession_typeZsession_desktopZsessions   &&     r   print_session_detailsZ+DebuggingToolsManager.print_session_details  s    m3345!!!VM223155C))+$]1%5$6aa8H7I=YZK[J\]]zz~~&89??R**..)>?EE2!N!O#45;;=[	**C#J-cU3C 0 0#t<r   )r"   r    )FT)F)N)FF)Z__name__Z
__module__Z__qualname__Z__firstlineno____doc__r)   r2   r   r4   r0   r8   r9   r:   rS   rM   rV   Z__static_attributes__r   r   r   r   r   >   sB    #31("3H0.4>=&= =r   r   _managerc               r   )r   r   r   r   r   r   r   r   r   -  s      * r   c                 s    \         # )z$Returns the debugging tools manager.)rX   r   r   r   r<   r<   -  s	     Or   ))__conditional_annotations__rW   Z
__future__r   Z__id__Z__version__Z__date__Z__copyright__Z__license__r%   r#   rQ   rR   Ztypingr   r   ZgiZrequire_versionZgi.repositoryr   r;   r   r   r   r   r	   r
   r   r   Z	ax_objectr   Zax_utilitiesr   Zax_utilities_debuggingr   Zscriptsr   r   rX   Z__annotations__r<   )rY   s   @r   <module>rZ      s   2   #;  	   + 	   7E "           % 8 k= k=Z #8"9
 9r   