Tag Archives: qt
How to make your application support Input method under Linux
As an Linux application developer, one might not aware that there could be certain effort required to support Input Method (or Input Method Editor, usually referred as IME) under Linux. What is input method and why should I care about … Continue reading
Use Plasma 5.24 to type in Alacritty (Or any other text-input-v3 client) with Fcitx 5 on Wayland
Relationship between the input method server and applications under Fcitx5+KWin/Wayland With the latest release of Plasma 5.24, the native wayland input method support in KWin is improved to support non-virtual keyboard input method like Fcitx 5. (There are lots of … Continue reading
Why surrounding text is the worst feature in the Linux input method world
This is mainly a complain about how mess this feature is and why no one could reliably use it. To give people some background, surrounding text is about the feature that an application can notify the input method what are … Continue reading
Client Side Input panel for Fcitx 5
(English version is at the end of this post.) 输入框的定位相关的问题其实很复杂,过去 Fcitx 总是自己绘制相关的窗口。X11 这个办法还好使,但是其他情况可能就没这么好使了。让客户端绘制窗口的想法其实比 Fcitx 5 要早得多,最早是为了 fbterm 而增加的支持。 显然 fbterm 没法利用任何来自显示管理器的界面,所以它需要自己绘制它自己的界面。那会儿我添加了一个很简单的实现来支持这个功能。 为了正确显示界面需要支持以下功能: 窗口显示在光标的位置 窗口不能移出屏幕 在 wayland 里,和 X 最大的区别就是不知道窗口的位置,所以不得不使用特别的方法来支持。 用 wayland 的输入法协议的话,它确实是支持将某个窗口标记为输入法窗口并让混成器帮你进行定位,但是需要程序自己先使用 wayland 的输入法协议,混成器也要支持这个协议。目前这两部分的支持并不好。 或者让窗口传送一个相对坐标,然后让混成器帮忙移动窗口。gnome wayland + kimpanel 的扩展就是这样进行定位的,因为 kimpanel … Continue reading
如何给 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 上已经有了非常详细的说明,我这里只简单介绍一下。 … Continue reading