NS>@sddlZddlZGdddeZedkreZedejedejedej dedejed ej d ndS) Nc@sLeZdZddZddZddZddZd d Zd S) ImConfigcCsdS)N)selfrr;/usr/lib/python3/dist-packages/LanguageSelector/ImConfig.py__init__ szImConfig.__init__cCstjjdS)Nz/usr/bin/im-config)ospathexists)rrrr availableszImConfig.availablecCs+tjddgjj}t|S)Nz im-configz-l) subprocess check_outputdecodesplitsorted)rZ inputMethodsrrrgetAvailableInputMethodss!z!ImConfig.getAvailableInputMethodscCstjddgjj\}}}|dkr:|Sd}tjjdr[d}nd|dkrp|}nOtjjdrx:tdD])}|jd r|jd }PqqWn|s|}n|j ||S) Nz im-configz-mZmissingz/usr/bin/fcitxfcitxdefaultz/etc/X11/xinit/xinputrcZrun_im) r r r rrrr open startswithsetInputMethod)rZ systemConfigZ userConfigZ autoConfigZ system_conflinerrrgetCurrentInputMethods"*       zImConfig.getCurrentInputMethodcCstjdd|gdS)Nz im-configz-n)r call)rimrrrr3szImConfig.setInputMethodN)__name__ __module__ __qualname__rr rrrrrrrr s     r__main__zavailable input methods: %szcurrent method: %szsetting method 'fcitx'rzremoving ~/.xinputrcZREMOVE) rr objectrrrprintrrrrrrrs  ,