Author Archives: csslayer

Setup Fcitx 5 on Linux (Video)

Recently I started to make some video with detailed step on how to setup Fcitx 5 on different distribution. Helps are also welcome if you want to make an instruction for the distribution that you use. Fedora/KDE: https://www.youtube.com/watch?v=FwqTtGEN4vQ (Vocal by … Continue reading

Posted in 日志 | 1 Comment

一个小玩具:fcitx5-tmux

就是觉得这个应该还挺好玩的。一开始其实还想着靠着写这个练习一下 Rust,结果就发现这个文档丰富程度实在是感人,特别是你用一些很少人用的库的时候,觉得还是算了。C++糊一下也就200多行。 原理很简单,就是通过手工执行 bind-key 把 tmux (几乎)所有的按键都绑定成一个 dbus 调用命令,然后交给一个代理的 dbus 服务和 fcitx 进行交互。把处理的结果再利用 send-key 发送回来。 现实来说还是有很多不太理想的地方,例如Control 的组合键就无法区分大小写,还有一些其他的小问题,所以总之是当作一个玩具来写。 代码地址:https://github.com/wengxt/fcitx5-tmux 梦回CCDOS

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

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

Posted in Linux | Tagged , , , , , , | 3 Comments

开发输入法是一种妥协的艺术

很久很久以前,我还没有在用 Linux 的那个时候,那会儿还在用 Windows 上的搜狗输入法。有时候经常就会好奇一件事,为什么输入法的更新日志里,经常会有「修复和XXX程序的兼容性」,「修复和YYY程序的兼容性」,难道他们不应该采用一套统一的接口吗? 几年以后当我开始在 Linux 下开发输入法之后,我终于了解了一切…… 有些东西其实还是颇为为难的,我就来说一下曾经处理过的bug(有些解决,有些未解决,或者难以解决)。 1、LibreOffice 的 crash 简单来说原理就是在某个 Qt 调用 IM Module 的函数里调用某个函数可能会导致无限递归。这个相对来说是比较容易修复的,只需要把 IM Module 调用那个函数的移动到事件队列里延迟调用就可以避免递归了。但这个问题并不会在其他任何 Qt 程序中出现,相信也只是在某个 LibreOffice 的版本无意之中导致的。说实话这种问题并没有一种办法归结为是谁的“过错”,毕竟我相信相关的 API 并没有相应的文档来定义这么细节的调用是不合法的或者可能导致问题。 2、Gtk 的 Client Side Input Panel 的语言 tag 失效 Fcitx 5 有一个功能,让 Pango … Continue reading

Posted in 日志 | 5 Comments

Fcitx 5 and multiple wayland compositor

Actually there is nothing so special about this feature, it’s just come freely with the multiple X server support. I just realized that WAYLAND_SOCKET passed from compositor can be just sent via DBus to the actual fcitx5 server, without the … Continue reading

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