Search Results for: The Road to Fcitx 5

The Road to Fcitx 5: 1. libxcb replaces libX11

This is the first post of “Road to Fcitx 5”. I planned to talk about more the changes in Fcitx 5, and comments are welcome. Right now, I’m using Fcitx 5 from day to day. As you can see from … Continue reading

Posted in fcitx development | Tagged , , , | Leave a comment

Road to Fcitx 5: 4. Compatibility for different im modules.

I have been always care about the compatibility. Fcitx 5 will be able to type with either fcitx 4’s im module, or fcitx 5’s im module. Fcitx 5’s im module will announce itself to accept both “fcitx5” and “fcitx”. Even … Continue reading

Posted in fcitx development | Tagged , | Leave a comment

Long road to fcitx 4.1

好吧,离4.0发布虽然还没多久,来考虑一些新问题。 最重要的就是承诺过的fcitx的gtk im module,以及更多的rework。 众所周知,fcitx有这样那样的问题,gtk水土不服啦,只能单实例运行啦,输入效果差啦等等。 我以前说过,我主要的精力还是放在整体的framework上,而不会花太多精力在输入法本身上。所以这次的工作主要就是解决和其他程序的兼容性问题和代码的重构。 fcitx的issue列表不能说很短了,扫过去的话,其实很多都是和gtk im module相关的。 为什么不是xim,我个人认为有两个很简单的原因,其一当然是现实所迫,那么多的程序没有gtk im module就不能正常工作,不幸这个只能从fcitx做起。另外一点,就是xim离开x还能运行吗?因此gtk im module当然有它存在的意义。 另外一方面就是把fcitx完全的拆散,everything work seperately,everything works well,现在关于这方面的点子在我脑子中一个接一个的冒出来,我都有些心潮澎湃了…… 比如软键盘真的应该集成到fcitx内部吗?似乎没有必要。quickphrase也是。如果剔除之后他们能不能和原来的功能一起工作?如何一起工作?都是一些有意思的问题。fcitx的core最后应该剩下什么?坚持不依赖ui toolkit的fcitx是不是应该提供一些简单的ui toolkit机制让其他功能也可以开发自己的ui? 希望4.1出现的时候(按照我的速度以及精力……汗,这点还是异常值得吐槽的)能够对于fcitx的本身带来一些革命性的变化。 虽然不知道最后说点什么好,结语是,希望有一天fcitx能够走到所有平台上,就这样吧。 P.S. 由于时间原因,我个人是不倾向于定时间表的,啊,虽然我很乐意干这件事情,但是还是有很多其他有意思/意义事情想做,被自己的兴趣赶着屁股走不是啥好事,反而会失掉热情。 那么还是只列一个计划表吧,按照这个计划表慢慢往下走。 1、将所有ui部分抽象,实现一些event driven的接口。 2、将和其他程序交互的部分抽象(xim,immodule),初步计划用socket重写这部分。话说最近阅读的一个代码也给了我启发,虽然仅仅用telnet做协议,但是很简单,而且工作的很好。 3、把内置的两个输入法(拼音,码表)也提取出来,作为模块。 4、增加其他milestone上的new feature 5、test again and again 6、4.1就到此吧 🙂

Posted in fcitx development | 16 Comments

Get event order right (Try 2!)

TL;DR: this is not considered as a user facing change. In a previous post, we discussed the issue between the input method event order and the blocking dbus call. To put it simple, input method may generate multiple different outcomes … Continue reading

Posted in fcitx development | Tagged , , | Leave a comment