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

Viewers also liked

Kika IME Android Taipei 2016 May
Kika IME Android Taipei 2016 MayKika IME Android Taipei 2016 May
Kika IME Android Taipei 2016 May
Lawrence Lin
 
オープンソースオフィススイート「LibreOffice」利用支援およびリナックスパソコン「LibrePC」の販売
オープンソースオフィススイート「LibreOffice」利用支援およびリナックスパソコン「LibrePC」の販売オープンソースオフィススイート「LibreOffice」利用支援およびリナックスパソコン「LibrePC」の販売
オープンソースオフィススイート「LibreOffice」利用支援およびリナックスパソコン「LibrePC」の販売
iCRAFT Corp. (アイクラフト株式会社)
 
かな漢字変換ソフト「Genji」をつくってみた
かな漢字変換ソフト「Genji」をつくってみたかな漢字変換ソフト「Genji」をつくってみた
かな漢字変換ソフト「Genji」をつくってみた
Masahiko Hashimoto
 
Debian Update: ~ Jessie, Stretch, Buster ~
Debian Update: ~ Jessie, Stretch, Buster ~Debian Update: ~ Jessie, Stretch, Buster ~
Debian Update: ~ Jessie, Stretch, Buster ~
Youhei SASAKI
 
リリースされたばかりの『Ubuntu 16.04LTS』のすべて
リリースされたばかりの『Ubuntu 16.04LTS』のすべてリリースされたばかりの『Ubuntu 16.04LTS』のすべて
リリースされたばかりの『Ubuntu 16.04LTS』のすべて
Hiroshi Chonan
 
Human Computer Interaction Chapter 2
Human Computer Interaction Chapter 2Human Computer Interaction Chapter 2
Human Computer Interaction Chapter 2
syxf10
 
NOH3 Launching Girder Assembly and Erection VSL
NOH3  Launching Girder Assembly and Erection VSLNOH3  Launching Girder Assembly and Erection VSL
NOH3 Launching Girder Assembly and Erection VSL
Ian Kelly
 
8-9-10=Jessie,Stretch,Buster
8-9-10=Jessie,Stretch,Buster8-9-10=Jessie,Stretch,Buster
8-9-10=Jessie,Stretch,Buster
Hideki Yamane
 
SDI Kuwait Causeway prj.(kusc)
SDI Kuwait Causeway prj.(kusc)SDI Kuwait Causeway prj.(kusc)
SDI Kuwait Causeway prj.(kusc)
Strukturas
 
PPT OF LG
PPT OF LGPPT OF LG
Qt5 の Input Method
Qt5 の Input MethodQt5 の Input Method
Qt5 の Input Method
Takumi Asaki
 
あひるに焼かれた話と今後のおーぷん万葉について
あひるに焼かれた話と今後のおーぷん万葉についてあひるに焼かれた話と今後のおーぷん万葉について
あひるに焼かれた話と今後のおーぷん万葉について
Masahiko Hashimoto
 
Android Internals
Android InternalsAndroid Internals
Android Internals
Opersys inc.
 
62617938 launching-girder
62617938 launching-girder62617938 launching-girder
62617938 launching-girder
lotuseye
 
Metode pelaksanaan-konstruksi-jembatan
Metode pelaksanaan-konstruksi-jembatanMetode pelaksanaan-konstruksi-jembatan
Metode pelaksanaan-konstruksi-jembatan
CITRA MARGA NUSAPHALA PERSADA, PT TBK
 
I 70 over SR 0481 Phase 1 Girder Erection Photos
I 70 over SR 0481 Phase 1 Girder Erection PhotosI 70 over SR 0481 Phase 1 Girder Erection Photos
I 70 over SR 0481 Phase 1 Girder Erection Photos
Pete Quinn
 
segmental construction of bridges
segmental construction of bridgessegmental construction of bridges
segmental construction of bridges
Sravan Kumar
 
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
Windows10タブレットに各種Linuxディストリを入れて遊ぼう 2017年度東京Spring版
Netwalker lab kapper
 

Viewers also liked (18)

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

Similar to Redesigning Input-Method Launcher and Management System

What is necessary for the next input method framework?
What is necessary for the next input method framework?What is necessary for the next input method framework?
What is necessary for the next input method framework?
Fuminobu Takeyama
 
Princeton-NJ-Meetup-MuleSoft SumoLogic Integration.pptx
Princeton-NJ-Meetup-MuleSoft SumoLogic Integration.pptxPrinceton-NJ-Meetup-MuleSoft SumoLogic Integration.pptx
Princeton-NJ-Meetup-MuleSoft SumoLogic Integration.pptx
SubhasRoy11
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
Samsung Open Source Group
 
An Introduction to the Yocto Embedded Framework 2018
An Introduction to the Yocto Embedded Framework 2018An Introduction to the Yocto Embedded Framework 2018
An Introduction to the Yocto Embedded Framework 2018
ICS
 
MeeGo on OMAP4 PandaBoard
MeeGo on OMAP4 PandaBoardMeeGo on OMAP4 PandaBoard
MeeGo on OMAP4 PandaBoard
Nishanth Menon
 
BW Migration to HANA Part 2 - SUM DMO Tool for SAP Upgrade & Migration
BW Migration to HANA Part 2 - SUM DMO Tool for SAP Upgrade & MigrationBW Migration to HANA Part 2 - SUM DMO Tool for SAP Upgrade & Migration
BW Migration to HANA Part 2 - SUM DMO Tool for SAP Upgrade & Migration
Linh Nguyen
 
Chapter 01 user exits
Chapter 01 user exitsChapter 01 user exits
Chapter 01 user exits
Kranthi Kumar
 
AD308: XPages in a Social World
AD308: XPages in a Social WorldAD308: XPages in a Social World
AD308: XPages in a Social World
paidi_ed
 
UX DURING MODULE INSTALLATION AND CONFIGURATION
UX DURING MODULE INSTALLATION AND CONFIGURATIONUX DURING MODULE INSTALLATION AND CONFIGURATION
UX DURING MODULE INSTALLATION AND CONFIGURATION
DrupalCamp Kyiv
 
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
John Head
 
sap fico implementation project phase pd
sap fico implementation project phase pdsap fico implementation project phase pd
sap fico implementation project phase pd
smanjunathreddy24
 
EMBEDDED C
EMBEDDED CEMBEDDED C
App inventor bs-sbs-v1.0
App inventor bs-sbs-v1.0App inventor bs-sbs-v1.0
App inventor bs-sbs-v1.0
재일 윤
 
Mulesoftmeetup20th mar final
Mulesoftmeetup20th mar finalMulesoftmeetup20th mar final
Mulesoftmeetup20th mar final
Anurag Dwivedi
 
PL-3 LAB MANUAL
PL-3 LAB MANUALPL-3 LAB MANUAL
Week 4 B IP Subnetting Lab Essay
Week 4 B IP Subnetting Lab EssayWeek 4 B IP Subnetting Lab Essay
Week 4 B IP Subnetting Lab Essay
Amanda Brady
 
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdfTomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
Tomasz Poszytek
 
Legacy system migration workbench
Legacy system migration workbenchLegacy system migration workbench
Legacy system migration workbench
SD Tutorial
 
At Last, MuleSoft RPA Revealed - A Quick Guide To Automating Your Business | ...
At Last, MuleSoft RPA Revealed - A Quick Guide To Automating Your Business | ...At Last, MuleSoft RPA Revealed - A Quick Guide To Automating Your Business | ...
At Last, MuleSoft RPA Revealed - A Quick Guide To Automating Your Business | ...
Big Compass
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
MulesoftMunichMeetup
 

Similar to Redesigning Input-Method Launcher and Management System (20)

What is necessary for the next input method framework?
What is necessary for the next input method framework?What is necessary for the next input method framework?
What is necessary for the next input method framework?
 
Princeton-NJ-Meetup-MuleSoft SumoLogic Integration.pptx
Princeton-NJ-Meetup-MuleSoft SumoLogic Integration.pptxPrinceton-NJ-Meetup-MuleSoft SumoLogic Integration.pptx
Princeton-NJ-Meetup-MuleSoft SumoLogic Integration.pptx
 
Bringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near YouBringing Tizen to a Raspberry Pi 2 Near You
Bringing Tizen to a Raspberry Pi 2 Near You
 
An Introduction to the Yocto Embedded Framework 2018
An Introduction to the Yocto Embedded Framework 2018An Introduction to the Yocto Embedded Framework 2018
An Introduction to the Yocto Embedded Framework 2018
 
MeeGo on OMAP4 PandaBoard
MeeGo on OMAP4 PandaBoardMeeGo on OMAP4 PandaBoard
MeeGo on OMAP4 PandaBoard
 
BW Migration to HANA Part 2 - SUM DMO Tool for SAP Upgrade & Migration
BW Migration to HANA Part 2 - SUM DMO Tool for SAP Upgrade & MigrationBW Migration to HANA Part 2 - SUM DMO Tool for SAP Upgrade & Migration
BW Migration to HANA Part 2 - SUM DMO Tool for SAP Upgrade & Migration
 
Chapter 01 user exits
Chapter 01 user exitsChapter 01 user exits
Chapter 01 user exits
 
AD308: XPages in a Social World
AD308: XPages in a Social WorldAD308: XPages in a Social World
AD308: XPages in a Social World
 
UX DURING MODULE INSTALLATION AND CONFIGURATION
UX DURING MODULE INSTALLATION AND CONFIGURATIONUX DURING MODULE INSTALLATION AND CONFIGURATION
UX DURING MODULE INSTALLATION AND CONFIGURATION
 
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
 
sap fico implementation project phase pd
sap fico implementation project phase pdsap fico implementation project phase pd
sap fico implementation project phase pd
 
EMBEDDED C
EMBEDDED CEMBEDDED C
EMBEDDED C
 
App inventor bs-sbs-v1.0
App inventor bs-sbs-v1.0App inventor bs-sbs-v1.0
App inventor bs-sbs-v1.0
 
Mulesoftmeetup20th mar final
Mulesoftmeetup20th mar finalMulesoftmeetup20th mar final
Mulesoftmeetup20th mar final
 
PL-3 LAB MANUAL
PL-3 LAB MANUALPL-3 LAB MANUAL
PL-3 LAB MANUAL
 
Week 4 B IP Subnetting Lab Essay
Week 4 B IP Subnetting Lab EssayWeek 4 B IP Subnetting Lab Essay
Week 4 B IP Subnetting Lab Essay
 
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdfTomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
 
Legacy system migration workbench
Legacy system migration workbenchLegacy system migration workbench
Legacy system migration workbench
 
At Last, MuleSoft RPA Revealed - A Quick Guide To Automating Your Business | ...
At Last, MuleSoft RPA Revealed - A Quick Guide To Automating Your Business | ...At Last, MuleSoft RPA Revealed - A Quick Guide To Automating Your Business | ...
At Last, MuleSoft RPA Revealed - A Quick Guide To Automating Your Business | ...
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 

More from Fuminobu Takeyama

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

More from Fuminobu Takeyama (20)

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

Recently uploaded

(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
Priyanka Aash
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
Brian Pichman
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Muhammad Ali
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
SAI KAILASH R
 
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptxIntroduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
313mohammedarshad
 
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptxDublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Kunal Gupta
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
digitalxplive
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
The importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT StandardizationThe importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT Standardization
Axel Rennoch
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
maigasapphire
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Zilliz
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
Edge AI and Vision Alliance
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Torry Harris
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
kumarjarun2010
 

Recently uploaded (20)

(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
(CISOPlatform Summit & SACON 2024) Keynote _ Power Digital Identities With AI...
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
 
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptxIntroduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
 
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptxDublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
Dublin_mulesoft_meetup_Mulesoft_Salesforce_Integration (1).pptx
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
The importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT StandardizationThe importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT Standardization
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
 

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