o
    ¶RbÅ  ã                   @   s’   d dl Z d dlZd dlZG dd„ deƒZedkrGeƒ Zede ¡  ƒ ede 	¡  ƒ edƒ e 
d¡ ede 	¡  ƒ ed	ƒ e 
d
¡ dS dS )é    Nc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )ÚImConfigc                 C   s   d S )N© ©Úselfr   r   ú;/usr/lib/python3/dist-packages/LanguageSelector/ImConfig.pyÚ__init__   s   zImConfig.__init__c                 C   s   t j d¡S )Nz/usr/bin/im-config)ÚosÚpathÚexistsr   r   r   r   Ú	available   s   zImConfig.availablec                 C   s(   t t ddg¡ ¡  ¡ ƒ}| d¡ |S )Nú	im-configz-lZnone)ÚsortedÚ
subprocessÚcheck_outputÚdecodeÚsplitÚappend)r   ZinputMethodsr   r   r   ÚgetAvailableInputMethods   s   
z!ImConfig.getAvailableInputMethodsc                 C   s„   t  ddg¡ ¡  ¡ d d… \}}}|dkr|S 	 d}|dkr"|}ntj d¡r<tdƒD ]}| d¡r;| ¡ d	 } nq,|s@|}|S )
Nr   z-mé   ÚmissingÚ Údefaultz/etc/X11/xinit/xinputrcZrun_imé   )	r   r   r   r   r   r	   r
   ÚopenÚ
startswith)r   ZsystemConfigZ
userConfigZ
autoConfigZsystem_confÚliner   r   r   ÚgetCurrentInputMethod   s"   ÿ
þzImConfig.getCurrentInputMethodc                 C   s   t  dd|g¡ d S )Nr   z-n)r   Úcall)r   Úimr   r   r   ÚsetInputMethod.   s   zImConfig.setInputMethodN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r      s    r   Ú__main__zavailable input methods: %szcurrent method: %szsetting method 'fcitx'Zfcitxzremoving ~/.xinputrcZREMOVE)r   r   ÚlocaleÚobjectr   r    r   Úprintr   r   r   r   r   r   r   Ú<module>   s   &
ø