#x11 #no-std #x11rb

no-std xim

XIM 协议解析器,处理器

7 个不稳定版本 (3 个重大更改)

0.4.0 2023年12月23日
0.3.0 2023年9月27日
0.2.3 2023年1月31日
0.2.1 2022年11月20日
0.1.1 2021年3月22日

#641解析器实现

每月 40 次下载

MIT 许可证

230KB
6.5K SLoC

xim-rs

Rust 中的 XIM 协议处理器

服务器示例

您可以在我的 IME 中查看 xim 服务器示例

最低安全 Rust 版本

当前最低安全 Rust 版本为 1.64。当前的 临时 策略是,任何 MSRV 的更改都将伴随着小版本号的增加。

项目结构

xim

与 X 客户端库的绑定

xim-parser

读取/写入由 xim-gen 生成的 xim 消息

xim-gen

xim 协议解析器生成器

功能

  • 解析消息
  • 基本协议
  • 扩展协议
  • AttributeBuilder

针对 X 客户端的绑定

xlib

  • 客户端
  • 服务器

x11rb

  • 客户端
  • 服务器

限制

  • 仅支持原生字节序
  • 仅支持 UTF-8 和 JIS X0208-1983 的 CTEXT
  • 认证,StrConvertion 由于在现实世界中未使用而不支持

lib.rs:

实现了 X 输入法 (XIM) 协议。

XIM 是用于 X11 应用程序的输入法框架。为了澄清,它为非英语键盘用户提供了使用键盘上可用的键来键入符号的策略。XIM 涉及两个过程。一个是服务器,它等待键盘输入以将其组合成符号。另一个是客户端,通常是正常的 X11 应用程序,它等待并处理 XIM 事件。

此 crate 提供以下功能

  • 通过 Client trait 实现了 XIM 客户端(需要 client 功能)。
  • 通过 Server trait 实现了 XIM 服务器(需要 server 功能)。
  • 围绕 x11rb 的包装,X rust 绑定。有关更多信息,请参阅 x11rb 模块(需要 x11rb-clientx11rb-server 功能)。
  • 围绕 x11-dl 的包装,标准 X11 库。有关更多信息,请参阅 xlib 模块(需要 xlib-client 功能)。

依赖项

~4-15MB
~251K SLoC