ibus开发指南

admin 提交于 星期一, 12/07/2015 - 16:40

代码:https://github.com/ibus

README:https://github.com/ibus/ibus/wiki/ReadMe

文档:https://github.com/ibus/ibus/wiki

编译代码(Ubuntu 15.10环境下)

 

sudo apt-get install -y gnome-common gtk-doc-tools libdconf-dev libnotify-dev valac

./autogen.sh

./configure --prefix=/usr --libexecdir=/usr/lib/ibus

make

sudo make install

ibus restart

如果make失败,可能需要修改python版本,参考:https://github.com/ibus/ibus/issues/1835

ui/gtk2已经不用了,使用ui/gtk3,其中.c文件是从.vala文件生成的,这是一种新的语言。

启动候选字控件

候选字框控件需要独立启动ui/gtk3/ibus-ui-gtk3,这是一个脚本,和.libs/ibus-ui-gtk3的可执行版本是不同的。执行脚本之后会自动生成.libs/lt-ibus-ui-gtk3,这才是能正确运行的版本。至于为什么这样就不知道了,可能要检测环境吧。

调试ibus

打开glib debug信息环境变量:export G_MESSAGES_DEBUG=all

运行ui/gtk3/ibus-ui-gtk3,这时会有调试信息显示。如果要用gdb调试的话要调试另外一个文件(不过要先运行ibus-ui-gtk3脚本才能生成ui/gtk3/.libs/lt-ibus-ui-gtk3):

gdb ui/gtk3/.libs/lt-ibus-ui-gtk3

如果想插入自己的调试信息,可以在vala文件中插入debug语句:

debug("[hgneng] enter set_candidates: %u/%d", focus_candidate, candidates.length);
 

调试dbug

dbus-monitor

“Can not execute default config program”的错误

如果运行ibus-daemon出现“Can not execute default config program”的错误,在~/.cache/ibus/registry里发现local/目录字符串,可能是曾经把ibus安装到local目录,可以./configure && sudo make uninstall。然后重启系统解决。

"error: Package `ibus-1.0' not found in specified Vala API directories or GObject-Introspection GIR directories"错误

在Ubuntu 14.04里编译ibus代码会遇到以上错误,是因为缺了bindings/vala/ibus-1.0.vapi,这个文件需要src/IBus-1.0.gir才能生成,不知道为什么IBus-1.0.gir没有生成,可能是因为Ubuntu 14.04的gir还不支持ibus。解决这一问题需要复制一个ibus-1.0.vapi。

 

添加新评论

Restricted HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id> <img src>
  • 自动断行和分段。
  • Web page addresses and email addresses turn into links automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
请输入"Drupal8"