Tag Archives: fcitx

搭建了x86_64的环境

就在这个VPS上,以后方便调试x86_64下面的错误了。毕竟学识尚浅,没有啥64位环境下面的经验。NX是比VNC强百倍的东西,嗯,是的。 然后顺利调试了一个bug,我觉得这个bug应该从很久很久以前就存在,不过没有人汇报而已……

Posted in fcitx development | Tagged | Leave a comment

Fcitx 4 Feature Plan

配置工具,i18n支持,更好的词库设计,这部分完成可以release一个beta出来 其实配置工具的内部含义还有重新设计配置文件,调整原来的一些配置文件结构,有些需要分离开,另外还有配置文件全EN化。所以配置工具才迟迟没有动作……因为没有搞定新配置接口前是不会有配置工具的…… 其次包含以下其中之一:拼音算法改进(难……得研究一番),GTK im module(相对容易),这条完成可以rc了,测试消除bug之后就正式release 不知道天旋地转冰天雪地360度转体之后丢到哪里去的计划:x,xx,xxxx…… 当然必不可少的就是调整代码结构,消除已经多到爆的全局变量,各种没有统一的接口,其实那个在最近的bugfix中也有做一小部分,只不过用户看不见罢了。 话说回来,捡起当年的日志来看看,还是实现了一些的嘛? fbterm支持 鼠标选词 gui配置工具 * 支持输入法扩展以及到其他输入法的bridge (扩展输入法接口是存在的……但是bridge就还需要其他work) 注音输入 更好的国际化支持(和gui一起出来) 优化内存占用 png支持 (over) UTF8支持 (over) 优化输入法算法,加入词频信息 皮肤 (over,由t3swing维护) 更好的默认字体支持(over,起码不会出方框) 配置即时生效 ibus支持 代码结构优化(WIP) 垂直选词 GTK面板

Posted in fcitx development | Tagged | 4 Comments

纠结的XIM,兼对GTK吐嘈

恐怕ibus和scim要偷着乐了,作为fcitx开发人员之一,当然要秉持fcitx的特点,轻量级,依赖少,可是最近稍微研究了一下XIM(把fcitx的debug打开),我对各大公司搞出的重量级应用程序开始有些愤恨… 就拿firefox来说吧,当然我现在还不大了解XIM本身的机制,因此可能有些妄断。XIM的交互是一个很老很老的库写的(copyright都93,94年)了,似乎到现在也没有成为标准的感觉。好,且不说这个,fcitx在firefox当中输入时第一次输入是不会光标跟随的,为什么呢?我其他Qt程序都运行的好好的嘛,怎么会有这个问题呢?好吧,于是我安装ibus玩一玩,我叻个去,如果GTK_IM_MODULE设置成xim,比fcitx还悲剧咧,我今天终于深刻感受到,gtk,就数你最不是好鸟,qt我这里怎么都work的完全ok啊,我的KDE程序没有一个不工作的好好的,结果你还害的firefox等等诸多程序一起悲剧。今天我也用ibus,不用gtk module玩了一把gnucash,也一样悲剧,结论就是,大部分的GTK的程序都在冲你吼叫XIM去死吧。大家说,ibus什么的输入没有问题,其实不是咱的过错,linux输入法至今感觉依旧混乱,qt的im module虽然也有,不过不知道是不成气候还是怎么样,xim和qt依旧和谐。 吼你就吼好了,你自己去成为一个更好的标准啊,大家皆大欢喜?好嘛,最后还不是大家一起杯具。 再说起外观这个事情,Qt好心好意的说,来来GTK,我也能和你长得一样哦,结果GTK似乎完全不鸟这个嘛,一个能用的Qt engine都没有(都是好心的人在kde-look上搞得,基本都不成熟,也难怪啦)。 喂喂gtk小同学你是不是吸取了c××××精神搞起独×了…… 最后为了皆大欢喜,我决定把gtk immodule实现提上日程。 以上

Posted in fcitx development | Tagged , , , , | 5 Comments

伪·通向Fcitx 4之路(一)——配置

本来题目是用来吐槽我拍拍脑袋想的配置架构……后来觉得还是这个题目比较好…… Fcitx的配置文件可以说还是比较复杂的,数一数的话config profile tables.conf 码表配置,今后还有个皮肤的配置文件,杯具的是每个文件格式都不大统一,不能说不统一,说貌合神离更加合适,除了config和profile是用的同一个接口,这为gui开发也带来了麻烦。所以就考虑用统一的格式进行开发。 当时想玩玩compiz的插件的时候看到,没有gui部分,compiz config setting manager是怎么把界面搞定的呢?后来看了看发现是用xml描述配置实现的,这给我了一个启发…想把类似的机制用在Fcitx上面。不过原来Fcitx用的就是类Ini的格式,所以也没有用Xml而是用Ini的格式。 配置文件最后就变成了这样的结构: 配置文件描述->配置文件,然而他们的格式又本质是相同的Ini格式。另外的一个启发就是KDE的Desktop file的极大应用,我以前一直以为Desktop file只能支持xdg的那些,KDE把这个拿过来扩展了一下,结果看起来很美好。 老的配置文件是中文,当时是为了简化用户的应用,但是编码问题却仍然困扰着很多人……做utf8的Fcitx也是为了解决这个问题。后来想到还是用英文的好……省得不同Locale的人打架。那么英文->中文的转化就是必要的了,于是想到了gettext,配置文件的描述当中可以抽取出必要的信息进行翻译,在GUI显示时就可以翻译了,Locale也没问题。 同时为了给GUI提供更多的Hint,定义了比较多的配置选项类型: String,Integer,Boolean,Enum,File,Font,Color,Hotkey,可以针对不同的类型生成不同的GUI。其中Enum是我特别想说的……以前配置文件里面有些0,1,2……不看文档确实没人知道是干什么用的,所以就在Integer之外再分离出Enum类型用做选项。 另外的一个问题就是如何读取这些选项,Fcitx以前用了太多的全局变量,这是一个将全局变量整合起来的机会。如果每次都需要用Group,Name这样的键值读取选项,未免有些浪费,于是又想实现一个Binding的机制。同步变量的值和配置文件中读取的值,以前Fcitx是通过指针实现的,其实是个不错的想法,变量名和选项名是不用面向用户的,代码中描述就行。 另外一个新的问题就是某些选项的限制,一方面可以通过配置文件描述,这样描述的信息可能不足,另一方面可能需要代码配合支持,所以打算给一个filter函数的属性位置,这和原来的读写函数可能很像。 嗯就这样,这部分代码改动很大,还没敢往svn上提交(其实是还没改出个能用的……)

Posted in fcitx development | Tagged | 2 Comments

KDE 4.5 风格的fcitx托盘图标

未发布,欢迎围观,顺便一提,这不是xpm,是png! 看着还行吧

Posted in fcitx development | Tagged , | Leave a comment