
    k!f                     F   d dl Z d dlZd dlZ G d de      Zedk(  r e       Z edej                         z          edej                         z          ed       ej                  d        edej                         z          ed	       ej                  d
       yy)    Nc                   *    e Zd Zd Zd Zd Zd Zd Zy)ImConfigc                      y )N selfs    ;/usr/lib/python3/dist-packages/LanguageSelector/ImConfig.py__init__zImConfig.__init__   s        c                 @    t         j                  j                  d      S )Nz/usr/bin/im-config)ospathexistsr   s    r	   	availablezImConfig.available   s    ww~~233r   c                     t        t        j                  ddg      j                         j	                               }|j                  d       |S )N	im-configz-lnone)sorted
subprocesscheck_outputdecodesplitappend)r   inputMethodss     r	   getAvailableInputMethodsz!ImConfig.getAvailableInputMethods   sB    j55{D6IJQQSYY[\F#r   c                 P   t        j                  ddg      j                         j                         d d \  }}}|dk7  r|S 	 d}|dk(  r|}nUt        j
                  j                  d      r6t        d      D ](  }|j                  d      s|j                         d	   } n |s|}|S )
Nr   z-m   missing defaultz/etc/X11/xinit/xinputrcrun_im   )	r   r   r   r   r   r   r   open
startswith)r   systemConfig
userConfig
autoConfigsystem_conflines         r	   getCurrentInputMethodzImConfig.getCurrentInputMethod   s    

!
!;"5
6
=
=
?
E
E
G
K 	/z:"	 9$$KWW^^5667 ??8,"&**,q/K $Kr   c                 4    t        j                  dd|g       y )Nr   z-n)r   call)r   ims     r	   setInputMethodzImConfig.setInputMethod.   s    dB/0r   N)__name__
__module____qualname__r
   r   r   r*   r.   r   r   r	   r   r      s    4
,1r   r   __main__zavailable input methods: %szcurrent method: %szsetting method 'fcitx'fcitxzremoving ~/.xinputrcREMOVE)r   r   localeobjectr   r/   r-   printr   r*   r.   r   r   r	   <module>r8      s    
  $1v $1L z	B	
'"*E*E*G
GH	
!9!9!;
;<	
"#g	
!9!9!;
;<	
 !h r   