Fcitx 4.2.2

A new bugfix release.

主要是Bug修复。

fcitx 4.2.2

Can use text as classic UI icon. Add more key can be used as hotkey. Fixes 536,538. Make tray icon has a maximum size, so it will looks good under other tray.

允许用文本作为经典界面的图标
增加更多可以用作快捷键的键
修复Issue 536,538
托盘图标有最大大小限制,使得它在其他托盘中的显示不会进行放大而导致模糊。

fcitx-m17n 0.1.1

Fix wrong option name. If available, don’t display preedit in input window.

修复错误的配置选项名称
在嵌入显示预编辑字符串时不显示非嵌入的预编辑字符串

fcitx-keyboard 0.1.2

Allow to adjust minimum hint trigger length. If available, don’t display preedit in input window.

允许调整触发提示的长度
在嵌入显示预编辑字符串时不显示非嵌入的预编辑字符串

kcm-fcitx 0.3.2

Add more X key to Qt key conversion.

增加更多 X按键到Qt按键的转换

fcitx-fbterm 0.1.3

Fix combination key handling.

修复组合键的处理

fcitx-sunpinyin 0.3.5

Fix issue 538 of saving dict.

修复保存的bug,Issue 538

fcitx-hangul 0.1.0

Add hangul support.

增加韩文支持。

Posted in fcitx development | Tagged | 10 Comments

夏娜完结纪念

(无太多剧透,可放心食用)

入宅这么长时间投入最多的是夏娜和Type-Moon,在还只有精品堂和珊瑚的年代,一直收夏娜的小说到16卷。16卷的结尾是一个让人纠结的结尾,当年的bbs上有个Shana的ID的签名档里面是16卷的片段,那时还没收小说……难以想象是怎样的情节发展才出现了这样的场景。

“我,会歼灭你。”

少年和少女都为了各自的信念而战斗着。

整部灼眼的夏娜其实只是少年和少女的成长史而已,而且没有落入以往烂尾的结局,简单来说不是“少年和少女继续这样幸福的生活下去了”,而是“少年为了和少女生活在一起而发生的故事”。

最近准备把当年的神一般的“内蒙古人民出版社”的轻小说逐渐都换成天闻角川的(效率看起来是一月一卷……勉强属于有生之年系列的中文版了,大概明年年初可以收到中文版的结局吧?)。于是前几天重温了新买到的前三卷。

我是经常会重新看过买过的书的,大概总是能发现一些新的东西。大概是处于某种懒得拿挤在一起的书的原因,夏娜我确实没有怎么重新看过。所以这基本上是几年来头次重新看夏娜的小说。

文艺青年式的“没有当年看书的心境”这种事情从来就不会发生在我等普通二逼青年身上。我更容易从曾经的书中找到不一样的感动。现在回过来看当初的故事,两个人笨拙的从认识到互相理解,相爱的故事有时经常让我想起从前的事。

悠二和夏娜恋爱终于有了有了Happy Ending,真是可喜可贺可喜可贺。我也要向着我的Happy Ending更加努力了。

Posted in 日志 | 7 Comments

My CMake Tutorial 5

这篇是教你如何用cmake和pkg-config搅基。

关于这个系列的宗旨,就是用我写过的项目里面用的那屁点CMake给大家看看,有些技巧我可能还自鸣得意,很有和大家分享的冲动。你想要找以前的文章,就去点下分类里面的cmake就好。

cmake 内置了 pkgconfig支持,想要用的话只需要

find_package(PkgConfig)

里面内置的命令是这样的

pkg_check_modules(LIBPINYIN "libpinyin >= 0.5.0")

前面是变量名的前缀,一般来说会生成以下变量 <VAR>_FOUND,<VAR>_INCLUDE_DIRS,<VAR>_LIBRARY_DIRS,<VAR>_LIBRARIES。

这就是通常的用法,非常的简单。

以下是我常用的trick之一,实际上是用了一个内部命令,不过实在太好用了。

_pkgconfig_invoke("libpinyin" LIBPINYIN EXECPREFIX "" "--variable=exec_prefix")

简单来说,就是在pkgconfig的文件中经常会有定义一些变量,不过不幸的是CMAKE并没有直接获得这些变量的方法,于是就用了以上的手段。

具体参数是,pkgconfig配置名,变量前缀,变量名,空字符串,pkgconfig参数。

这样就可以顺利得到LIBPINYIN_EXECPREFIX这样的变量名啦。

 

Posted in cmake | Tagged | 5 Comments

My CMake Tutorial 4

这篇的目的是教你 CMake 如何和 Qt 搅基。

总所周知的是,CMake和Qt自古就搅基搅的很深,CMake自带的find_package脚本其实蛮少,不过其中确绝对会有 Qt 的和KDE的,即使所引用的KDE的cmake脚本其实在KDE Libs里面。

说是介绍,其实主要是介绍一些在QtMacro.cmake里面的宏,cmake的自带脚本都在 /usr/share/cmake-<version>/Modules 下面,可以自行查看。

在开始之前,先来说说Qt的moc。Qt的信号和槽的机制其实大部分是靠代码生成的,Qt自带了一个名为moc的工具,负责解析C++的源文件,并且生成相关的代码。moc是meta object compiler 的缩写,关于moc都干了什么可以自己放狗去搜。

qt4_wrap_cpp(<varname> <header file(s)>)

用来把头文件生成moc文件,并且对应的文件名写到<varname>里面去。

这样你可以在增加target的时候直接使用<varname>和你的cpp文件,这样就可以一起编译了。

当然对于KDE来说,有更方便的automoc,这里按下不表。

Qt DBus

DBus 的接口是通过xml文件指定的,qt也提供了按照DBus的introspect的xml文件直接生成代码的方法,具体来说有两边,一个是adaptor,一个是interface。adaptor是作为实现dbus那一方的,而interface则是调用dbus那一方的。

https://github.com/fcitx/kcm-fcitx/blob/master/src/CMakeLists.txt

例如这里

QT4_ADD_DBUS_INTERFACE(kcm_SRCS
    org.fcitx.Fcitx.InputMethod.xml
    org.fcitx.Fcitx.InputMethod
)

最后就会生成 org.fcitx.Fcitx.InputMethod.h 这个文件,然后直接include就可以直接使用这个类啦。

类似的adaptor则是相当于注册服务的那一方。

Posted in cmake | Tagged | 3 Comments

坑:QCloud

https://github.com/csslayer/qcloud

Posted in Linux | 2 Comments