前段时间并没有时间,估计申请成为 GSoC 的项目也无望,现在将会有一些时间,如果对 Fcitx 开发有兴趣的,可以申请以下任务的开发。
Fcitx 4.2.5
感谢 yuyichao,Mike,wzyboy,Iven,lily,还有我一时不记得的人(非常抱歉!)帮忙测试。
fcitx 4.2.5
对用户来说:
1、默认的3个皮肤采用了一个新的功能,来使得字体大小不是像素而是point从而遵从屏幕的dpi设定。(4.2.5之前的老皮肤保持原状,如果你曾经修改过默认几个皮肤的设置请删除掉修改的配置来使用这个新功能)
2、在切换输入法之后提示当前输入法,并且这个提示会自动消失
3、fcitx-keyboard的单词提示是输入上下文的一个选项(可以做不同窗口理解),而不在是全局的(也就是说比如你可以在libreoffice里面开单词提示,但是在firefox里面依然不使用提示。
4、fcitx-xkb支持加载自定义的xmodmap
5、fcitx-xkb支持设置在输入法不可用(无可输入窗口)时使用的键盘布局。(4.2.4的时候这个设置是启动时的那个键盘布局)
6、fcitx-pinyin 支持 “jv -> ju”的纠正
7、fcitx-pinyin 加入小鹤双拼支持
8、fcitx-pinyin 可以使用 v 来触发快速输入
9、zh_HK 的 “$”的标点映射从 ¥ 改为 $。
10、支持用ctrl + alt + shift + u 切换输入unicode字符 (用10进制,16进制,或者字符名称搜索字符)
11、用shift做默认的激活非激活的切换,并且默认在只有使用shift切换到非激活时才能切换回激活(类似4.2.3及之前的行为)
12、更安全的信号处理和退出
13、重启显示在kimpanel和classic的界面上(kimpanel在点击logo之后出现的菜单里面)
14、日志信息现在包括pid
以及一些bug修复
API方面:
1、加入timeout支持
2、加入per-上下文的数据存储支持
3、keysym定义移动到fcitx-utils
模块的修改:
快速输入可以用跨模块调用触发。
For user:
1. Default 3 skin change to support a new feature that respect the DPI on the screen.
2. Display current input method after switch the input method, and the hint window will disappear after a while.
3. fcitx-keyboard wordhint now is a per input context option, not a global one.
4. fcitx-xkb support loading custom xmodmap script when needed.
5. fcitx-xkb support assign a default layout when there is no input method.
6. fcitx-pinyin support fix like “jv -> ju”
7. fcitx-pinyin add xiaohe support.
8. fcitx-pinyin now can use “v” to trigger quick-phrase
9. change zh_HK punctutation map for “$” from ¥ to $.
10. support typing unicode character via “ctrl+shift+alt+u”
11. shift for default “active-inactive” switch, and can be only used after switch from “active to inactive” by default.
12. safer for handling signal and exit.
13. restart is displayed on the UI (both classic and kimpanel)
14. log message now includes pid.
For API:
1. add timeout support.
2. add per-inputcontext data support
3. move all keysym to fcitx-utils.
For module:
Quickphrase can be triggered via cross module call.
fcitx-cloudpinyin 0.2.3
修改出现重复结果时的行为,现在出现重复结果时删除重复结果并保持其他词位置不变
change the policy for when there is duplication result, now most word position will not changed.
fcitx-sunpinyin 0.3.8
增加 nbest 支持(猜测多个长句)
add nbest support.
fcitx-table-extra 0.3.2
1、增加一个包含更多字符的郑码码表
2、修复boshiamy 和easy-big的一些问题
1. add a new zhengma table for large charest
2. fix boshiamy and easy-big
kcm-fcitx 0.4.0
1、新的qt按键和fcitx按键的转换实现
2、支持fcitx-keyboard的修改默认布局
1. new implementation for key conversion
2. add support for change “default layout”
fcitx-anthy 0.1.0
新的日语输入支持包
new package.
fcitx-rime 0.1.0
新的rime的支持包
new package.
=-=-=-=-=
Powered by Blogilo
Unicode input support
A small function, will be added to fcitx 4.2.5.
This function can use hex number or unicode character name to search the character.
The default key for this is “Ctrl+Alt+Shift+U” (Since I don’t want to disturb normal hotkey, you can disable this key from configuration).
如何给 Qt 贡献 Patch
最近给 Qt 5 写了几个傻瓜都能写的 Patch ……目的是修复一些输入法相关的 Bug。当然这不是重点,重点是怎么给 Qt 写 Patch 并提交。
首先 Qt 自从转向开放管理之后,给 Qt 写 Patch 就成为了一件非常简单的事情。
首先不用说,你需要注册个账号,先到这个网站注册个账号,bugreports.qt-project.org,然后打开codereview.qt-project.org ,选择 sign in,sign in之后需要做的就是和一般的代码管理网站一样,添加你的ssh key,然后还需要做的是签署一个协议,在Agreements里面,作为一般人签个 Invidudual的就好,另一种是如果你代表公司向 Qt 贡献,那么则是签那个,然后大概就是需要等这个审核通过,效率还是非常高的,喝口茶大概最多几个小时之后就ok了,然后你就可以通过 gerrit (qt的code review 系统提交 patch 了)。
gerrit 这个东西是个非常神奇的东西,非常好用,如果你熟悉 git 的开发的话就更好了。
其实 Qt 上已经有了非常详细的说明,我这里只简单介绍一下。
首先要配置你的ssh_config ,code review的ssh并非是传统的22端口,而是一个自定义端口,在你的~/.ssh/config 中加入:
Host codereview.qt-project.org Port 29418
首先在你 clone 下来代码之后(from gitorous或者code review都行),
$ git clone ssh://<username>@codereview.qt-project.org/qt/qtbase.git Cloning into qtbase... remote: Counting objects: 33523, done remote: Finding sources: 100% (33523/33523) Receiving objects: 100% (33523/33523), 69.45 MiB | 901 KiB/s, done. remote: Total 33523 (delta 16501), reused 33523 (delta 16501) Resolving deltas: 100% (16501/16501), done. $
首先需要配置的是 commit msg和commit hook,它能自动生成一个changeid,也就是将来标示你这个修改的id。
$ scp -P 29418 <username>@codereview.qt-project.org:hooks/commit-msg .git/hooks
另外就是需要 clone 一个 qtrepotools,并且把 git-hooks/git_post_commit_hook 链接到你的 .git/hooks/post-commit
并且要保持这两个文件可执行哦。
之后你就可以做你的修改了,做了commit之后你可以git log看看,是不是有 Change-Id: I3db87fdffdb5b01404047e905793ae6e10bb1e90 这样的字样,如果没有的话可是不行的哦,那样你需要检查下你的commit-msg是不是有问题?
如果顺利的话,那么你可以提交你的 review了
$ git push ssh://<username>@codereview.qt-project.org:29418/qt/qtbase HEAD:refs/for/master Counting objects: 6, done. Delta compression using up to 2 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 407 bytes, done. Total 4 (delta 2), reused 0 (delta 0) remote: Resolving deltas: 0% (0/2) To ssh://<username>@codereview.qt-project.org:29418/qt/qtbase * [new branch] HEAD -> refs/for/master $
然后会生成一个链接给你,可以用来在网站上track状态。
然后需要做的一件事就是找reviewer,那么找谁呢?有以下两种办法…一个是看看你这个文件的修改历史,都有谁review过,reviewer的名字会用 Reviewed-by: 标明,嘛……命中多的大概就相关吧……
还有就是你可以到 #qt-labs @ freenode.net 这个irc频道去询问一下,也会得到回复的。
然后就是等着review了。
运气好的话,可能接下来就你啥事了,当然像我这种二逼青年……头一次就犯了各种傻到家的错误……那你可能需要修改你的代码,这要怎么做呢?
其实非常简单(下面是我自己使用的办法,不知道是否完全正确,不过至少work),首先到网页上找到 git fetch https://codereview.qt-project.org/p/qt/qtbase refs/changes/xx/xxxxx/x && git checkout FETCH_HEAD ,像这样就能找回你的提交,然后做出对应的修改,你可能需要rebase到master或者做一些相关的操作。(我个人建议是不要merge,那样会生成额外的不必要的提交……)
这种时候 git commit –amend 就派上用场,你可以修改你的提交,然后修改完成后再用最开始和提交code review一样的命令,就可以了。注意的是Change-Id 当然是不能改的,否则系统就会认为这是一个新的review。
那么就是这样,Qt的网站上也有很多相关的内容,甚至有视频演示,链接都列在下面可以查看。
http://qt-project.org/wiki/Category:Developing_Qt
http://qt-project.org/wiki/Code_Reviews
http://developer.qt.nokia.com/videos/watch/gerrit_contributing_and_reviewing_a_change
Kimpanel for Gnome Shell Update
地址在此
https://extensions.gnome.org/extension/261/kimpanel/
不过更新应该还在审核中,可以自己去:
https://github.com/csslayer/kimpanel-for-gnome-shell/ 抓代码,执行 ./install.sh 即可安装。
那么有什么更新呢?其实也都是一些基本功能的更新。那么有视频有真相。
https://github.com/csslayer/kimpanel-for-gnome-shell/