Riey/xim-rs

Created Dec 23, 2020 · View the Riey/xim-rs repository page

XIM protocol parser and handler in Rust

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

1

Lines of Code

284

From

Dec 14, 2020

To

Dec 23, 2020

About Riey/xim-rs

xim-rs is a Rust implementation of the XIM (X Input Method) protocol, which enables input method communication between X11 clients and servers. The project provides protocol parsing and handling functionality, organized into three main components: xim (X client library bindings), xim-parser (message reading and writing), and xim-gen (a protocol parser generator). It supports both the xlib and x11rb X11 bindings, with full client support for both libraries and server support specifically for x11rb.

The project implements core XIM protocol features including message parsing, basic protocol operations, and an attribute builder. The implementation currently focuses on native endian support and handles real-world use cases by omitting rarely-used features like authentication and string conversion. The codebase maintains a minimum supported Rust version of 1.82, with a policy of bumping the minor version whenever the MSRV changes.

The project is demonstrated in real-world usage through an IME (input method editor) implementation called kime, which includes an XIM server frontend built with this library. Extension protocol support remains a planned feature for future development.

Share this video