
    Egc                        d dl Z d dlmZmZ d dlmZ d dlZd dlmZ	  e	       Zd dl
mZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ  e       Z e       Z e       Z e       Z e       Z e       Zd dlm Z  e jB                  jE                  ejF                        Z! e jH                  dd       d dlm%Z%  e%jL                         Z'e'jQ                  ejR                         ejR                  jU                  dd         e jH                  dd       d dlm+Z+  e+jX                         Z- e       Zd dl.m/Z/ d dl0m1Z1  G d d      Z2y)    N)trackerssettings)DEBUG)NameBlocker)CinnamonClient)SessionClient)UPowerClient)KeybindingHandlerClient)MediaPlayerWatcher)AccountsServiceClient)MuffinClient)CScreensaverCinnamonDesktopz3.0)r   changedc                 ,    t         j                  |       S N)Backgroundsload_from_preferences)sks     -/usr/share/cinnamon-screensaver/singletons.py<lambda>r   1   s    K4U4UVW4X     XAppz1.0)r   )ConsoleKitClient)LogindClientc                   B    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zy
)LoginClientResolverc                 @    || _         d | _        | j                          y r   )managerlogin_client
try_logind)selfr    s     r   __init__zLoginClientResolver.__init__G   s     r   c                     t        dd       t               }t        j                         j	                  |d| j
                         y )NzTrying to connect to logind...Tflushstartup-status)printr   r   con_tracker_getconnecton_logind_startup_resultr#   r!   s     r   r"   zLoginClientResolver.try_logindN   s:    .d;#~  "**<+;+/+H+H	Jr   c                     t        j                         j                  |d| j                         |r%t	        dd       || _        | j                          y t	        dd       | j                          y )Nr(   zSuccessfully using logindTr&   z1Failed to connect to logind, or it doesn't exist.)r   r*   
disconnectr,   r)   r!   setup_manager_connectionstry_console_kitr#   clientsuccesss      r   r,   z,LoginClientResolver.on_logind_startup_resultV   sc      "--f.>.2.K.K	M -T: &D**,ETR  "r   c                     t        dd       t               }t        j                         j	                  |d| j
                         y )Nz"Trying to connect to ConsoleKit...Tr&   r(   )r)   r   r   r*   r+   on_consolekit_startup_resultr-   s     r   r1   z#LoginClientResolver.try_console_kitc   s;    2$?')  "**<+;+/+L+L	Nr   c                    t        j                         j                  |d| j                         |r%t	        dd       || _        | j                          y t	        dd       t	        dd       t	        dd       t	        dd       y )	Nr(   zSuccessfully using ConsoleKitTr&   z6Failed to connect to ConsoleKit, or it doesn't exist.
zPUnable to connect to either logind or ConsoleKit.  Certain things will not work,zJsuch as automatic unlocking when switching users from the desktop manager,z9or locking in appropriate power/system-management events.)r   r*   r/   r6   r)   r!   r0   r2   s      r   r6   z0LoginClientResolver.on_consolekit_startup_resultk   s|      "--f.>.2.O.O	Q 1> &D**,KSWXdlpq^fjkMUYZr   c                 Z   t        j                         j                  | j                  d| j                         t        j                         j                  | j                  d| j
                         t        j                         j                  | j                  d| j                         y )Nlockunlockactive)r   r*   r+   r!   on_session_manager_lockon_session_manager_unlockon_session_manager_active)r#   s    r   r0   z-LoginClientResolver.setup_manager_connections{   s      "**4+<+<+1+/+G+G	I 	  "**4+<+<+3+/+I+I	K 	  "**4+<+<+3+/+I+I	Kr   c                 N    t        d       | j                  j                          y )Nz"Received Lock from session manager)r   r    r9   r#   r3   s     r   r<   z+LoginClientResolver.on_session_manager_lock   s    23r   c                 N    t        d       | j                  j                          y )Nz$Received Unlock from session manager)r   r    r:   r@   s     r   r=   z-LoginClientResolver.on_session_manager_unlock   s    45r   c                 N    t        d       | j                  j                          y )Nz,Received Active changed from session manager)r   r    refresh_stager@   s     r   r>   z-LoginClientResolver.on_session_manager_active   s    <=""$r   N)__name__
__module____qualname__r$   r"   r,   r1   r6   r0   r<   r=   r>    r   r   r   r   F   s3    J#N[ 	K

%r   r   )3giutilr   r   
util.utilsr   statusdbusdepot.nameBlockerr   _NameBlockerdbusdepot.cinnamonClientr   _CinnamonClientdbusdepot.sessionClientr   _SessionClientdbusdepot.uPowerClientr	   _UPowerClient!dbusdepot.keybindingHandlerClientr
   _KeybindingHandlerClientdbusdepot.mediaPlayerWatcherr   _MediaPlayerWatcherdbusdepot.accountsServiceClientr   _AccountsServiceClientdbusdepot.muffinClientr   _MuffinClientgi.repositoryr   NotificationWatchernewDebugrequire_versionr   BGr   r   bg_settingsr+   r   KbdLayoutControllerKeyboardLayoutControllerdbusdepot.consoleKitClientr   dbusdepot.logindClientr   r   rG   r   r   <module>rg      s!   
 #   >n G C @ a R [ @ " 24 (* .0  '"66::6<<H    $e , ) o  "  ! !("6"6 7     Y(X Y   65 ! 34335   8 /M% M%r   