forked from phuang/ibus
-
Notifications
You must be signed in to change notification settings - Fork 202
DevGuide
John Beard edited this page Jul 20, 2024
·
3 revisions
Developer guide
Phase-Implementation
- python >= 2.5
- dbus-glib >= 0.74
- dbus-python >= 0.83.0
- iso-codes
- qt >= 4.4.0 (if want to build qt4 im module)
- anthy (if want to build anthy engine)
- python-enchant & hunspell-en (if want to build pinyin engine or enchant demo engine)
- libhangul (if want to build hangul engine)
- pyzy (if you want to build pinyin engine)
$ git clone git://github.com/ibus/ibus.git ibus
$ cd ibus
$ ./autogen.sh --prefix=/usr --sysconfdir=/etc
$ make
$ sudo make install
$ update-gtk-immodules `uname -i`
or
$ gtk-query-immodules-2.0-32 > /etc/gtk-2.0/i386-redhat-linux-gnu/gtk.immodules
(the path /etc/gtk-2.0/i386-redhat-linux-gnu/gtk.immodules may be different in your system)
$ git clone git://github.com/ibus/ibus-pinyin.git ibus-pinyin
$ cd ibus-pinyin
$ ./autogen.sh --prefix=/usr
$ make
$ sudo make install
$ git clone git://github.com/ibus/ibus-m17n.git ibus-m17n
$ cd ibus-m17n
$ ./autogen.sh --prefix=/usr
$ make
$ sudo make install
$ git clone git://github.com/ibus/ibus-anthy.git ibus-anthy
$ cd ibus-anthy
$ ./autogen.sh --prefix=/usr
$ make
$ sudo make install
$ git clone git://github.com/definite/ibus-chewing.git
$ cd ibus-chewing
$ cmake . -DCMAKE_INSTALL_PREFIX='/usr'
$ make
$ sudo make install
$ sudo make install_schema
$ git clone git://github.com/ibus/ibus-hangul.git ibus-hangul
$ cd ibus-hangul
$ ./autogen.sh --prefix=/usr
$ make
$ sudo make install
$ git clone git://github.com/ibus/ibus.git ibus
$ cd ibus
$ ./autogen.sh --prefix=/usr
$ make rpm
# list rpms
$ ls `uname -i`
# use ibus-setup to enable ibus and engines
$ /usr/bin/ibus-setup
# gtk application
$ GTK_IM_MODULE=ibus gedit
# kde application
$ QT_IM_MODULE=ibus kwrite
# old X application
$ XMODIFIERS="@im=ibus" xterm
Once the engine (taking ibus-libpinyin as an example) is built, first kill any running system engine, if any:
pkill -f ibus-engine-libpinyin
Then you can run the newly-built engine directly:
./src/ibus-engine-libpinyin --ibus
When ibus is next switched to the input method, it will connect to this running instance rather than starting a new one.
You can run the engine in GDB, which allows to catch crashes and set breakpoints:
gdb --args ./src/ibus-engine-libpinyin --ibus