+
    Qi  c                  s8  a  0 t $ R t^ RIHt RtRtRtRtR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t]P.                  ! RR4       ^ RIHt ^RIHt  ! R R4      t]! 4       tR]R&   R R ltR# )zModule for sleep mode)annotationsz$Id$z
$Revision$z$Date$zCopyright (c) 2024 Igalia, S.L.ZLGPL)TYPE_CHECKING)braille)cmdnames)dbus_service)debug)input_event)keybindings)messages)script_manager)AXObjectNAtspiz2.0)r   )defaultc                  s    ] tR t^5t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 lt
]P                  RR R ll4       tRtR# )SleepModeManagerz#Provides sleep mode implementation.c                   V ^8  d   QhRR/#    returnZNone Zformat   "</usr/lib/python3.14/site-packages/orca/sleep_mode_manager.py__annotate__SleepModeManager.__annotate__8   s     G G$ G    c                	s   V P                  R 4      V n        \        P                  ! 4       V n        . V n        Rp\        P                  ! \        P                  VR 4       \        P                  ! 4       pVP                  RV 4       R# )Tz/SLEEP MODE MANAGER: Registering D-Bus commands.r   N)get_handlers	_handlersr   KeyBindings	_bindings_appsr   print_message
LEVEL_INFOr   Zget_remote_controllerZregister_decorated_module)selfmsgZ
controllers   &  r   __init__ZSleepModeManager.__init__8   sh    CGCTCTUYCZ2=2I2I2K "
?E,,c48!779
,,-?Fr   c               s$    V ^8  d   QhRRRRRR/# )r   refreshbool
is_desktopr   zkeybindings.KeyBindingsr   r   r   r   r   r   B   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                  # )z+Returns the sleep-mode-manager keybindings.z5SLEEP MODE MANAGER: Refreshing bindings. Is desktop: Tz(SLEEP MODE MANAGER: Refreshing bindings.)r   r   r   r   Zremove_key_grabs_setup_bindingsZis_empty)r    r#   r%   r!   s   &&& r   get_bindingsZSleepModeManager.get_bindingsB   s    
 I*VC 0 0#t<NN++,VW  " ~~ ^^$$&&  "~~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   Q   s      D 5] r   c                s    V'       d9   Rp\         P                  ! \         P                  VR4       V P                  4        V P                  # )z(Returns the sleep-mode-manager handlers.z(SLEEP MODE MANAGER: Refreshing handlers.T)r   r   r   _setup_handlersr   )r    r#   r!   s   && r   r   ZSleepModeManager.get_handlersQ   s:     <C 0 0#t<  "~~r   c               r(   )r   appzAtspi.Accessibler   r$   r   r   r   r   r   r   [   s      %5 $ r   c                s    \        T;'       d    \        V4      V P                  9   4      pV'       d+   RV.p\        P                  ! \        P
                  VR4       V# )z-Returns True if sleep mode is active for app.z!SLEEP MODE MANAGER: Is active forT)r$   hashr   r   print_tokensr   )r    r*   Zresulttokenss   &&  r   is_active_for_appZ"SleepModeManager.is_active_for_app[   sM     c55d3i4::5693?Fu//>r   c               r   r   r   r   r   r   r   r   d   s     9 9 9r   c                s    / V n         \        P                  ! V P                  \        P
                  4      V P                   R&   Rp\        P                  ! \        P                  VR4       R# )z@Sets up and returns the sleep-mode-manager input event handlers.toggle_sleep_modez$SLEEP MODE MANAGER: Handlers set up.TN)	r   r   ZInputEventHandlerr/   r   ZTOGGLE_SLEEP_MODEr   r   r   r    r!      & r   r)   Z SleepModeManager._setup_handlersd   s[      ))&&**, 	*+
 5E,,c48r   c               r   r   r   r   r   r   r   r   q   s     9 9 9r   c           	     sH   \         P                  ! 4       V n        V P                  P                  \         P                  ! R\         P
                  \         P                  V P                  R,          4      4       Rp\        P                  ! \        P                  VR4       R# )z8Sets up and returns the sleep-mode-manager key bindings.Zqr/   z$SLEEP MODE MANAGER: Bindings set up.TN)r   r   r   ZaddZ
KeyBindingZDEFAULT_MODIFIER_MASKZSHIFT_ALT_CTRL_MODIFIER_MASKr   r   r   r   r0   r1   r   r&   Z SleepModeManager._setup_bindingsq   su     %002""118823	5	6 5E,,c48r   Nc               s(    V ^8  d   QhRRRRRRRR/# )r   scriptzdefault.Script | Noneeventzinput_event.InputEvent | Nonenotify_userr$   r   r   r   r   r   r   r      s2      % - 	
 
r   c                s   RVRVRV.p\         P                  ! \         P                  VR4       V'       d   VP                  '       g   R# \        P
                  ! 4       pV P                  VP                  4      '       d   V P                  P                  \        VP                  4      4       VP                  VP                  4      pV'       dE   VP                  \        P                  \        P                  ! VP                  4      ,          4       VP!                  VR4       R# \"        P$                  ! 4        V'       dE   VP                  \        P&                  \        P                  ! VP                  4      ,          4       VP!                  VP)                  VP                  4      R4       V P                  P+                  \        VP                  4      4       R# )z.Toggles sleep mode for the active application.z.SLEEP MODE MANAGER: toggle_sleep_mode. Script:zEvent:znotify_user:TzSleep mode toggled offzSleep mode toggled on)r   r,   r   r*   r	   get_managerr.   r   Zremover+   Z
get_scriptZpresent_messager   ZSLEEP_MODE_DISABLED_FORr
   Zget_nameZset_active_scriptr   ZclearZSLEEP_MODE_ENABLED_FORZget_or_create_sleep_mode_scriptZappend)r    r2   r3   r4   r-   Z_script_managerZ
new_scripts   &&&&   r   r/   Z"SleepModeManager.toggle_sleep_mode   sO    CFE>;@5++VT:6:::(446!!&**--JJd6::./(33FJJ?J**44x7H7H7TTV--j:RS""8#B#BXEVEVW]WaWaEb#bc));;FJJGI`	b

$vzz*+r   )r   r   r   )FT)F)NT)Z__name__Z
__module__Z__qualname__Z__firstlineno____doc__r"   r'   r   r.   r)   r&   r   Zcommandr/   Z__static_attributes__r   r   r   r   r   5   s>    -G99  r   r   _managerc               r   )r   r   r   r   r   r   r   r   r      s      % r   c                 s    \         # )z)Returns the Sleep Mode Manager singleton.)r7   r   r   r   r5   r5      s    Or   ) __conditional_annotations__r6   Z
__future__r    Z__id__Z__version__Z__date__Z__copyright__Z__license__Ztypingr   Z r   r   r   r   r   r   r   r	   Z	ax_objectr
   ZgiZrequire_versionZgi.repositoryr   Zscriptsr   r   r7   Z__annotations__r5   )r8   s   @r   <module>r9      s   .  #1           w&# k k\ ./
 /r   