SlideShare a Scribd company logo
2015/12/06Redesigning Input-Method Launcher and Management System 1/27
Redesigning Input-Method Launcher and
Management System
Fuminobu TAKEYAMA
openSUSE.Asia Summit 2015 Taipei, Taiwan
2015/12/06Redesigning Input-Method Launcher and Management System 2/27
About me
● Fuminobu TAKEYAMA (武山 文信)
– openSUSE ID: ftake
● A package maintainer of openSUSE M17N
– A community (weekend) developer
– working for a company developing civil infrastructure,
storage devices, electric products, etc.
● An organizer of Japan openSUSE user group
2015/12/06Redesigning Input-Method Launcher and Management System 3/27
Geeko Magazine Special Edition
● Publishing 2 issues / 1 year
– for the Comic Market
● Technical articles on openSUSE
● 500 JPY ≒ 130 TWD
2015/12/06Redesigning Input-Method Launcher and Management System 4/27
Input method
● A way to input various characters
aoi
あおい
青い
2015/12/06Redesigning Input-Method Launcher and Management System 5/27
openSUSE and input methods
● input methods are available just after installation
– if $LANG is zh_TW, zh_HK, zh_CN, ja_JP, etc.
2015/12/06Redesigning Input-Method Launcher and Management System 6/27
How IM is started
~/.xim exists?
$INPUT_METHOD
select an input method
according to $LANG
start the IM
start an desktop environment
loginrun~/.xim
No
Yes
not defined
Yes
=ibus, fcitx, gcin, ...
/etc/X11/xim
written in 2004
2015/12/06Redesigning Input-Method Launcher and Management System 7/27
Problems
● No easy way to install and select input method to start
● Do not follow desktop environments settings
– Hi-DPI display support
– ibus-kimpanel
2015/12/06Redesigning Input-Method Launcher and Management System 8/27
No easy way to select IM
● A user lives under de_DE (Germany) and
wants to input Japanese
http://nicovideo.jp/
wwwwwwwwww
うまそううまそうww
まじかよ…まじかよ…
2015/12/06Redesigning Input-Method Launcher and Management System 9/27
Which packages to install?
● If he wants to all the packages for Japanese, he can do
by YaST → Software Management → Languages
2015/12/06Redesigning Input-Method Launcher and Management System 10/27
How can he install only the IM?
$ sudo zypper install mozc
don't work
$ sudo zypper install ibus-mozc
OK!
$ sudo zypper install input-method-japanese
ideal?
a Japanese conversion engine
2015/12/06Redesigning Input-Method Launcher and Management System 11/27
How can he select Japanese IM?
● Need to select which input method to be started
● INPUT_METHOD to select IM manually
INPUT_METHOD=ibus
2015/12/06Redesigning Input-Method Launcher and Management System 12/27
Env. variable is not good idea
● Where is the right place to define INPUT_METHOD?
● Need a text editor for user-specific setting
/etc/sysconfig/language
/etc/profile.d/*.sh
~/.bashrc
~/.profile
~/.i18n
system-wideuser-specific
Sysconfig Editor
2015/12/06Redesigning Input-Method Launcher and Management System 13/27
Timing problem
● The selected IM is started before desktop environment
● No way to know at starting IM
– DPI (font-scale) settings
– KIMPanel applet is placed on desktop
● Conflicts between Fcitx and GNOME
– fixed the final version of 42.1
by delaying Fcitx
2015/12/06Redesigning Input-Method Launcher and Management System 14/27
We need
● A new IM launcher and its management tool that
– allow to select input method to use in a easy way
– support modern desktop environments avoiding the timing
problems
2015/12/06Redesigning Input-Method Launcher and Management System 15/27
2015/12/06Redesigning Input-Method Launcher and Management System 16/27
Chameleon Tongue
An extensible input method launcher
https://github.com/ftake/chameleon-tongue
2015/12/06Redesigning Input-Method Launcher and Management System 17/27
A tongue of chameleon is extensible.
The meanings of “tongue” are:
(1) 舌, (2) 語言 (language)
's tongue
舌
2015/12/06Redesigning Input-Method Launcher and Management System 18/27
1-click install is available from
http://software.opensuse.org/package/chameleon-tongue
Warning: it is still experimental
Don't forget to stop the old launcher by “~/.xim”
2015/12/06Redesigning Input-Method Launcher and Management System 19/27
CUI tool
● If you want to use IBus/Fcitx
$ im-settings select ibus
$ im-settings select fcitx
2015/12/06Redesigning Input-Method Launcher and Management System 20/27
GUI front-end as a YaST module
on going
2015/12/06Redesigning Input-Method Launcher and Management System 21/27
Options for IM launcher
● e.g. Use LibreOffice GNOME instead of LibreOffice KDE
– for better IM support
$ im-settings config --set global.ooo_force_desktop true
$ im-settings config --set global.ooo_force_desktop false
2015/12/06Redesigning Input-Method Launcher and Management System 22/27
Idea: more interactive 1/2
● Show a message when new input method is installed
2015/12/06Redesigning Input-Method Launcher and Management System 23/27
Idea: more interactive 2/2
● Show IM setup dialog at the first log-in
– Install packages if necessary
Input Method Wizard
Fcitx ▼
OK
Mozc ▼
Skip
2015/12/06Redesigning Input-Method Launcher and Management System 24/27
Technical mechanism
~/.config/input-method/profile
/etc/xdg/input-method/profile
select an input method according to $LANG
set GTK_IM_MODULE etc.
start an desktop environment
login
exists
exists
start the selected input method
symbolic link
by XDG autostart
two phases launch
No customization by env. var.
/usr/lib/input-method/profile.d/ibus
2015/12/06Redesigning Input-Method Launcher and Management System 25/27
No timing problems
● The second launch phase of Chameleon tongue is aware
of settings from desktop environments
– Its DPI setting is applied
– It searches KIMPanel before starting IBus
2015/12/06Redesigning Input-Method Launcher and Management System 26/27
From another view point
● If there was a standard input method framework,
we would not need applications like Chameleon Tongue
● Many input method frameworks
– Fcitx
– IBus
– Gcin
– Uim
– SCIM
– kinput2, IIMF, …
2015/12/06Redesigning Input-Method Launcher and Management System 27/27
Conclusion
● Chameleon Tongue is a new input method launcher
– CUI and GUI tool
– support modern desktop environments
● Please join discussion and development
– opensuse-m17n@opensuse.org
– https://www.github.com/ftake/chameleon-tongue

More Related Content

PDF
Catalogue--Veca(2015.10.23)
DOCX
BISWAS-CV_(2) (1) (2) (1)
ODP
PiBox Launcher
PDF
Keyboards and Internationalization
PDF
Design problem study-Chinese input method using in mobile platform
PDF
[社内LT][Debian] お前はもう使っている-2013/05/24
PDF
"Typical" bugs of LibreOffice in Japanese environment
PDF
DebianでFirefoxをカスタマイズするには
Catalogue--Veca(2015.10.23)
BISWAS-CV_(2) (1) (2) (1)
PiBox Launcher
Keyboards and Internationalization
Design problem study-Chinese input method using in mobile platform
[社内LT][Debian] お前はもう使っている-2013/05/24
"Typical" bugs of LibreOffice in Japanese environment
DebianでFirefoxをカスタマイズするには

Viewers also liked (18)

PDF
Kika IME Android Taipei 2016 May
PDF
オープンソースオフィススイート「LibreOffice」利用支援およびリナックスパソコン「LibrePC」の販売
PDF
かな漢字変換ソフト「Genji」をつくってみた
PDF
Debian Update: ~ Jessie, Stretch, Buster ~
PDF
リリースされたばかりの『Ubuntu 16.04LTS』のすべて
PDF
Human Computer Interaction Chapter 2
PDF
NOH3 Launching Girder Assembly and Erection VSL
PDF
8-9-10=Jessie,Stretch,Buster
PPTX
SDI Kuwait Causeway prj.(kusc)
PPTX
PDF
Qt5 の Input Method
PDF
あひるに焼かれた話と今後のおーぷん万葉について
PDF
Android Internals
PDF
62617938 launching-girder
PDF
Metode pelaksanaan-konstruksi-jembatan
PDF
I 70 over SR 0481 Phase 1 Girder Erection Photos
PPT
segmental construction of bridges
PDF
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
Kika IME Android Taipei 2016 May
オープンソースオフィススイート「LibreOffice」利用支援およびリナックスパソコン「LibrePC」の販売
かな漢字変換ソフト「Genji」をつくってみた
Debian Update: ~ Jessie, Stretch, Buster ~
リリースされたばかりの『Ubuntu 16.04LTS』のすべて
Human Computer Interaction Chapter 2
NOH3 Launching Girder Assembly and Erection VSL
8-9-10=Jessie,Stretch,Buster
SDI Kuwait Causeway prj.(kusc)
Qt5 の Input Method
あひるに焼かれた話と今後のおーぷん万葉について
Android Internals
62617938 launching-girder
Metode pelaksanaan-konstruksi-jembatan
I 70 over SR 0481 Phase 1 Girder Erection Photos
segmental construction of bridges
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
Ad

More from Fuminobu Takeyama (20)

PDF
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
PDF
Geeko Magazine: A Technical Magazine on openSUSE, edited on openSUSE―openSUSE...
PDF
SUSE Studio Express を使ってみた
PDF
Geeko Magazine: A Technical Magazine on openSUSE, editied on openSUSE
PDF
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
PDF
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
PDF
ここが違う! OSC Tokyo と台湾の COSCUP
PDF
トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法
PDF
What is necessary for the next input method framework?
PDF
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
PDF
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
PDF
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
PDF
Welcome to openSUSE.Asia Summit 2017
PDF
告知LT最終回! openSUSE.Asia Summit 2017 注目セッションのご紹介
PDF
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
PDF
【openSUSEの最新動向のみ】Solrで日本語全文検索システムの構築と応用
PDF
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
PDF
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
PDF
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
PDF
20161106 osc-tokyo-lt-asia-summit
Btrfs + Snapper + Samba で作る「以前のバージョン」に戻せるファイルサーバー
Geeko Magazine: A Technical Magazine on openSUSE, edited on openSUSE―openSUSE...
SUSE Studio Express を使ってみた
Geeko Magazine: A Technical Magazine on openSUSE, editied on openSUSE
最近良く聞く Kubernetes を体験してみた イントロ + 活用編
Ruby でできていると言っても過言ではない Linux ディストリビューション―openSUSE
ここが違う! OSC Tokyo と台湾の COSCUP
トランザクショナルアップデート ― Btrfsを活用したパッケージ更新方法
What is necessary for the next input method framework?
Leap の初のメジャーアップデート! openSUSE Leap 15.0 リリース
Portus でプライベート Docker レジストリを構築してみよう(openSUSE の紹介パート)
Portus でプライベート Docker レジストリを構築してみよう ― 予告編 ―
Welcome to openSUSE.Asia Summit 2017
告知LT最終回! openSUSE.Asia Summit 2017 注目セッションのご紹介
今さら聞けない -Linux コマンドラインツールテクニック その1 rev. 4
【openSUSEの最新動向のみ】Solrで日本語全文検索システムの構築と応用
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
今さら聞けない! Linux コマンドラインツールテクニック その1 rev. 3
今さら聞けない Linux コマンドラインツールテクニック その1 rev. 2
20161106 osc-tokyo-lt-asia-summit
Ad

Recently uploaded (20)

PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
KodekX | Application Modernization Development
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
NewMind AI Weekly Chronicles - August'25 Week I
Programs and apps: productivity, graphics, security and other tools
Per capita expenditure prediction using model stacking based on satellite ima...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
“AI and Expert System Decision Support & Business Intelligence Systems”
Network Security Unit 5.pdf for BCA BBA.
Diabetes mellitus diagnosis method based random forest with bat algorithm
KodekX | Application Modernization Development
Reach Out and Touch Someone: Haptics and Empathic Computing
20250228 LYD VKU AI Blended-Learning.pptx
MYSQL Presentation for SQL database connectivity
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Unlocking AI with Model Context Protocol (MCP)
Digital-Transformation-Roadmap-for-Companies.pptx
sap open course for s4hana steps from ECC to s4
Building Integrated photovoltaic BIPV_UPV.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The Rise and Fall of 3GPP – Time for a Sabbatical?
NewMind AI Weekly Chronicles - August'25 Week I

Redesigning Input-Method Launcher and Management System

  • 1. 2015/12/06Redesigning Input-Method Launcher and Management System 1/27 Redesigning Input-Method Launcher and Management System Fuminobu TAKEYAMA openSUSE.Asia Summit 2015 Taipei, Taiwan
  • 2. 2015/12/06Redesigning Input-Method Launcher and Management System 2/27 About me ● Fuminobu TAKEYAMA (武山 文信) – openSUSE ID: ftake ● A package maintainer of openSUSE M17N – A community (weekend) developer – working for a company developing civil infrastructure, storage devices, electric products, etc. ● An organizer of Japan openSUSE user group
  • 3. 2015/12/06Redesigning Input-Method Launcher and Management System 3/27 Geeko Magazine Special Edition ● Publishing 2 issues / 1 year – for the Comic Market ● Technical articles on openSUSE ● 500 JPY ≒ 130 TWD
  • 4. 2015/12/06Redesigning Input-Method Launcher and Management System 4/27 Input method ● A way to input various characters aoi あおい 青い
  • 5. 2015/12/06Redesigning Input-Method Launcher and Management System 5/27 openSUSE and input methods ● input methods are available just after installation – if $LANG is zh_TW, zh_HK, zh_CN, ja_JP, etc.
  • 6. 2015/12/06Redesigning Input-Method Launcher and Management System 6/27 How IM is started ~/.xim exists? $INPUT_METHOD select an input method according to $LANG start the IM start an desktop environment loginrun~/.xim No Yes not defined Yes =ibus, fcitx, gcin, ... /etc/X11/xim written in 2004
  • 7. 2015/12/06Redesigning Input-Method Launcher and Management System 7/27 Problems ● No easy way to install and select input method to start ● Do not follow desktop environments settings – Hi-DPI display support – ibus-kimpanel
  • 8. 2015/12/06Redesigning Input-Method Launcher and Management System 8/27 No easy way to select IM ● A user lives under de_DE (Germany) and wants to input Japanese http://nicovideo.jp/ wwwwwwwwww うまそううまそうww まじかよ…まじかよ…
  • 9. 2015/12/06Redesigning Input-Method Launcher and Management System 9/27 Which packages to install? ● If he wants to all the packages for Japanese, he can do by YaST → Software Management → Languages
  • 10. 2015/12/06Redesigning Input-Method Launcher and Management System 10/27 How can he install only the IM? $ sudo zypper install mozc don't work $ sudo zypper install ibus-mozc OK! $ sudo zypper install input-method-japanese ideal? a Japanese conversion engine
  • 11. 2015/12/06Redesigning Input-Method Launcher and Management System 11/27 How can he select Japanese IM? ● Need to select which input method to be started ● INPUT_METHOD to select IM manually INPUT_METHOD=ibus
  • 12. 2015/12/06Redesigning Input-Method Launcher and Management System 12/27 Env. variable is not good idea ● Where is the right place to define INPUT_METHOD? ● Need a text editor for user-specific setting /etc/sysconfig/language /etc/profile.d/*.sh ~/.bashrc ~/.profile ~/.i18n system-wideuser-specific Sysconfig Editor
  • 13. 2015/12/06Redesigning Input-Method Launcher and Management System 13/27 Timing problem ● The selected IM is started before desktop environment ● No way to know at starting IM – DPI (font-scale) settings – KIMPanel applet is placed on desktop ● Conflicts between Fcitx and GNOME – fixed the final version of 42.1 by delaying Fcitx
  • 14. 2015/12/06Redesigning Input-Method Launcher and Management System 14/27 We need ● A new IM launcher and its management tool that – allow to select input method to use in a easy way – support modern desktop environments avoiding the timing problems
  • 15. 2015/12/06Redesigning Input-Method Launcher and Management System 15/27
  • 16. 2015/12/06Redesigning Input-Method Launcher and Management System 16/27 Chameleon Tongue An extensible input method launcher https://github.com/ftake/chameleon-tongue
  • 17. 2015/12/06Redesigning Input-Method Launcher and Management System 17/27 A tongue of chameleon is extensible. The meanings of “tongue” are: (1) 舌, (2) 語言 (language) 's tongue 舌
  • 18. 2015/12/06Redesigning Input-Method Launcher and Management System 18/27 1-click install is available from http://software.opensuse.org/package/chameleon-tongue Warning: it is still experimental Don't forget to stop the old launcher by “~/.xim”
  • 19. 2015/12/06Redesigning Input-Method Launcher and Management System 19/27 CUI tool ● If you want to use IBus/Fcitx $ im-settings select ibus $ im-settings select fcitx
  • 20. 2015/12/06Redesigning Input-Method Launcher and Management System 20/27 GUI front-end as a YaST module on going
  • 21. 2015/12/06Redesigning Input-Method Launcher and Management System 21/27 Options for IM launcher ● e.g. Use LibreOffice GNOME instead of LibreOffice KDE – for better IM support $ im-settings config --set global.ooo_force_desktop true $ im-settings config --set global.ooo_force_desktop false
  • 22. 2015/12/06Redesigning Input-Method Launcher and Management System 22/27 Idea: more interactive 1/2 ● Show a message when new input method is installed
  • 23. 2015/12/06Redesigning Input-Method Launcher and Management System 23/27 Idea: more interactive 2/2 ● Show IM setup dialog at the first log-in – Install packages if necessary Input Method Wizard Fcitx ▼ OK Mozc ▼ Skip
  • 24. 2015/12/06Redesigning Input-Method Launcher and Management System 24/27 Technical mechanism ~/.config/input-method/profile /etc/xdg/input-method/profile select an input method according to $LANG set GTK_IM_MODULE etc. start an desktop environment login exists exists start the selected input method symbolic link by XDG autostart two phases launch No customization by env. var. /usr/lib/input-method/profile.d/ibus
  • 25. 2015/12/06Redesigning Input-Method Launcher and Management System 25/27 No timing problems ● The second launch phase of Chameleon tongue is aware of settings from desktop environments – Its DPI setting is applied – It searches KIMPanel before starting IBus
  • 26. 2015/12/06Redesigning Input-Method Launcher and Management System 26/27 From another view point ● If there was a standard input method framework, we would not need applications like Chameleon Tongue ● Many input method frameworks – Fcitx – IBus – Gcin – Uim – SCIM – kinput2, IIMF, …
  • 27. 2015/12/06Redesigning Input-Method Launcher and Management System 27/27 Conclusion ● Chameleon Tongue is a new input method launcher – CUI and GUI tool – support modern desktop environments ● Please join discussion and development – opensuse-m17n@opensuse.org – https://www.github.com/ftake/chameleon-tongue