
    d                         d dl mZ d dlZd dlZd dlZdZdZdZdZdZ	dZ
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd ZddZy)    )absolute_importNCinnamonMATEXFCEKDEGNOME c                      t        j                  dt              } t        t        t
        t        fD ]'  }| j                         |j                         k(  s%|c S  | dk(  rt        S t        S )NXDG_CURRENT_DESKTOPz
X-Cinnamon)osgetenvSESSION_UNKNOWNSESSION_CINNAMONSESSION_MATESESSION_XFCESESSION_KDElower)sessionnames     )/usr/lib/python3/dist-packages/xapp/os.pyget_current_desktopr      sZ    ii-?G!<{K ==?djjl*K ,    c                  $    t               t        k(  S N)r   r    r   r   is_desktop_cinnamonr      s     $444r   c                  $    t               t        k(  S r   )r   r   r   r   r   is_desktop_mater            L00r   c                  $    t               t        k(  S r   )r   r   r   r   r   is_desktop_xfcer!   #   r   r   c                  $    t               t        k(  S r   )r   r   r   r   r   is_desktop_kder#   &   s     K//r   c                  $    t               t        k(  S r   )r   SESSION_GNOMEr   r   r   is_desktop_gnomer&   )   s     M11r   c                      d} t        j                  dt         j                        r6t        j                  dd      j                  d      }dD ]  }||v sd}  | S  | S )NFz/proc/cmdlinezcat /proc/cmdlineT)shellzutf-8)zboot=casperz	boot=live)r   accessR_OK
subprocesscheck_outputdecode)is_live_sessioncmdlinekeywords      r   r.   r.   ,   se    O	yy"''*))*=tLSST[\3 	G'!"&		 r   c                  L    t         j                  j                  d      } d| v ryy)N~z
/tmp/guestTF)r   path
expanduser)	home_paths    r   is_guest_sessionr6   6   s$    ""3'Iy r   c                     t        j                         D ],  }t        j                  |      }|j                         | k(  s, y y)NTF)psutilpidsProcessr   )process_namepidps      r   is_process_runningr>   ?   s;    {{} NN3668|# r   c                      t         j                  j                  d      syt               rt	        d      ryt               rt	        d      ryt	        d      ryt	        d      ryy)N/usr/bin/pkexecFz!polkit-kde-authentication-agent-1Tz"polkit-mate-authentication-agent-1z#polkit-gnome-authentication-agent-1polkitd)r   r3   existsr#   r>   r   r   r   r   is_polkit_runningrC   H   sX     77>>+, ./RS/0TU	A	B	I	&r   c                 x    t        | t              s| j                  d      } t        j                  dg| z          y )N r@   )
isinstancelistsplitr+   call)commands    r   pkexecrK   Z   s/    gt$--$OO&''12r   c                    t        | t              s| j                  d      } t               r|rt	        |        yt
        j                  j                  d      r*dg}|
|dd|z  gz   }|| z   }t        j                  |       yt
        j                  j                  d      r4dd	g}||d
|gz   }|
|dd|z  gz   }|| z   }t        j                  |       yt               rt	        |        yy)NrE   Tz/usr/bin/gksugksuz	--messagez	<b>%s</b>z/usr/bin/kdesudokdesudoz-dz-iz	--commentF)
rF   rG   rH   rC   rK   r   r3   rB   r+   Popen)rJ   messageiconsupport_pkexeccommandss        r   run_with_admin_privsrT   b   s    gt$--$~w		(8;g0E"FFHg%"	*	+t$4,.H;g0E"FFHg%" 
	wr   )NNF)
__future__r   r   r8   r+   r   r   r   r   r%   r   r   r   r   r!   r#   r&   r.   r6   r>   rC   rK   rT   r   r   r   <module>rV      sn    & 	    51102$3r   