fcitx源码分析
xxNull
不善言辞,但是心地善良勤奋好学,但是有点固执胸无大志,但是不断努力
展开
-
0.引子
fcitx是一个输入法。linux下的输入法。做得很好。用起来很方便,很舒服。可惜,已经停止开发。但是,已经快1年了吧。个人感觉,它依然是最好的。Ubuntu7.10自带的是scim。可是,刚一装上就有文件夹重命名问题。虽说,可以通过改配置文件解决。但是,总是感觉很不舒服,各种各样的问题,太烦了。没办法,一上来就换成fcitx。 可惜,fctix已经停止了。而且已经停止很久了。接替者,好像也一直没原创 2017-10-10 10:39:53 · 398 阅读 · 0 评论 -
1.源码中文件用途说明
今天从http://fcitx.net上面找到了源代码各个文件的说明,很不全。以后有时间一点一点的填补吧。转载如下: 描述 fcitx 源码文件的用处。AutoEng.h/AutoEng.c自动切换到英文输入状态。void LoadAutoEng (void) 从 ~/.fcitx/AutoEng.dat (如果不存在,则从 /usr/local/share/fcitx/data/AutoEn原创 2017-10-10 10:42:46 · 884 阅读 · 0 评论 -
3.LoadConfig及LoadProfile函数
一、读取配置文件/* * 读取用户的配置文件 */void LoadConfig (Bool bMode){ FILE *fp; char buf[PATH_MAX], *pbuf, *pbuf1; Bool bFromUser = True;// 用以标识配置文件是用户家目录下的,还是从安装目录下拷贝过来的。 int group_i原创 2017-10-10 10:56:24 · 4118 阅读 · 0 评论 -
5.界面的处理
fcitx是使用xlib写的界面。我们知道,xlib在linux下是最底层的图形库。QT和GTK都是基于xlib写的。所以,理论上讲,fcitx完全可以在没有QT和GTK的情况下运行。但是,也正是这个原因,fcitx的界面非常的简单。连基本的配置界面都没有。从程序的易用性方面讲,有一个配置窗口是非常合理而且合情的。但是,直接使用xlib处理界面实在不是太好的主意。尤其是用它来处理复杂一些的界原创 2017-10-10 11:00:45 · 573 阅读 · 0 评论 -
6.我是输入法
// 告诉系统,我是输入法Bool InitXIM (Window im_window){ XIMStyles *input_styles; XIMTriggerKeys *on_keys; XIMEncodings *encodings; char *p, *imname; // 获取环境变亮XMODIFIERS的值原创 2017-10-10 11:01:58 · 576 阅读 · 1 评论 -
2.main函数
int main (int argc, char *argv[]){ XEvent event; // 见解说1 int c; // 用于保存用户输入的参数 Bool bBackground = True;// 见解说2 // 解析命令行参数,见解说2、3 while((原创 2017-10-10 10:51:54 · 491 阅读 · 0 评论