I'm amazed to find quite a few people on here still very interested (and, active) with #X11! 😎 I just started exploring #xcb for #programming an X client, and have fun with that. No, X ist NOT dead❗ (But maybe a new major version, like X12, could be a good idea, dropping lots of stuff not useful anymore nowadays, like all the core drawing/fonts, like COMPOUND_TEXT, and so on ...)

My goal is to create

... the "perfect" #emoji #keyboard for X.

All existing projects I found either depend on a specific GUI toolkit or at least some "input method", or are just broken... I already created "#qXmoji": https://github.com/Zirias/qxmoji -- works, but shows suprising lags initializing GUI elements (> 3500 emoji buttons). It needs some native xcb code already, so I had the crazy idea to do it completely without any toolkit.

For now, I'm just building generic "widgets". Next is probably a "Tab Set"; with buttons and a scroll area, all the required building blocks are available. I'll first try to have the features of qXmoji complete. That means one method for "emoji input": Send them as faked keyboard events. This needs ugly trickery, but works with any X client accepting keyboard input.

Maybe I can improve that later by also allowing other methods (selections and #XDnd) 🙃

I guess I won't try to implement #XIM though. It's not only somewhat complex, but also requires other clients to be XIM aware to work correctly, so the cost/benefit ratio might not be optimal 🤔

Work in progress is here (still far from doing anything useful):
https://github.com/Zirias/xmoji

GitHub - Zirias/qxmoji: Barebones X11 emoji keyboard with Qt GUI

Barebones X11 emoji keyboard with Qt GUI. Contribute to Zirias/qxmoji development by creating an account on GitHub.

GitHub