Here comes fcitx-fbterm!

http://blip.tv/file/get/Csslayer-FcitxFbtermDemostration765.3gp

https://github.com/fcitx/fcitx-fbterm

除了按照CMake常规手段安装之外,如果你想要测试这个东西,有以下两种方法。

1、有一个正在X中运行的fcitx。

export DISPLAY=:0 # 假设你的显示是0
fbterm -i fcitx-fbterm。

2、没有X。

eval `dbus-launch --auto-syntax`
fcitx > /dev/null 2>&1 # 不显示标准输出
fbterm -i fcitx-fbterm

另外,如果想要在fbterm里面用上输入法,还需要设置

sudo setcap 'cap_sys_tty_config+ep' /usr/bin/fbterm

或者

sudo chmod u+s /usr/bin/fbterm

但无论如何,你都需要编译fcitx的dbus支持。另外几乎不用说的就是,你需要Fcitx的最新代码才能玩这个东西。另外目前同一个用户运行两个以上的fcitx并不安全。

以后会加入方便启动的脚本。

还有顺便一提,fbterm的输入法切换键 CTRL + SPACE是写死在fbterm的代码里面的。这个不由fcitx控制。

另外为了您系统的安全着想,万一出现”屏幕错乱“,”键盘按键错乱“,”键盘失灵“以至于连tty都无法切换的情况,请不要慌张,首先尝试fbterm的退出按键 CTRL ALT E。如果无效,那就使用sysrq的sysrq + r,然后你就可以从容切换到其他的tty。需要注意的是,sysrq这个快捷键需要设置sysctl的 kernel.sysrq 为 1 ,许多发行版出于安全考虑默认是禁用这个的(否则摸到键盘的人可以直接对整个系统进行重启,kill all这种操作),个人用户可以考虑开启。

Posted in fcitx development | Tagged , , | 9 Comments

KCM Fcitx

抢第一个有kcm的输入法的位置!

http://blip.tv/file/get/Csslayer-FcitxKCMDemostration567.mp4

Posted in fcitx development | Tagged , | 1 Comment

今天真是相当郁闷

写个Kimpanel的过程简直就是个杯具啊。最开始的DataEngine的编写还算顺利,但是后面真正写起来Plasmoid就完全不同了。

首先想用QML,结果跟不上kimpanel的更新速度。

然后想用Javascript,结果ServiceJob部分的绑定是坏的。

老实去用C++吧,也怪不得调查Plasmoid使用语言,C++和Python平分天下各占百分之40多,QML占了不到百分之10,Javascript完全没影子了。

Posted in KDE | Tagged , | 5 Comments

改变是顺应需求的

fcitx从诞生至今,代码中没有定义一个“候选词”的概念。

同时也没有定义一个“预编辑字符串”的概念(这其实也是fcitx目前不可能实现OnTheSpot的根本原因,虽然我觉得OnTheSpot带来不了什么太多好处,不过不知道为何那些天杀的程序都喜欢和OverTheSpot过不去……)

在提供给界面显示的时候,提供的是两个包含需要显示文本的数组,分别对应候选框的上半文本和下半文本。

现在这个设计终于要成为继续开发的阻碍了。

目前遇到的一个需求就是插入额外候选词,其实关于这点我也想了一些其他办法,比如说单独独立出来显示,或者附加在原有的列表后。(其实单独列出一条,然后用比如`这种键选择对我来说真的没什么大不了的……)

但实际上都为实现带来了不必要的麻烦。

于是决定还是添加候选词的抽象部分。

Posted in fcitx development | 6 Comments

Cloud Pinyin Progress

不知道怎么样改进下比较好。

现在调用的sogou,fcitx已有的三个拼音输入都可以用上,显示云输入法的第一个候选词。

虽然说加入了一个cache机制,不过究竟是我这里网速太快呢,还是怎么样,目前这个刷新速度还是稍微有点难以接受。

总归原理上已经实现了。需要个更好的展示方法。

感谢 @pipitu 回答我关于 curl 的问题。

演示

Posted in fcitx development | 2 Comments