This is now kind of a dev microblog concerning #Xmoji. I'm kind of stalled, now that version 0.7 seems reasonably stable and portable (I see there's a #nix pkg, unfortunately outdated, and a #NetBSD #pkgsrc port, I will deliver #FreeBSD *soon*).
It misses a few convenience features my previous #qXmoji had: save/restore the window size, optionally enforce a single instance, offer a #tray icon. I'll add all of that, seems straight-forward, for the tray icon I'll only implement the old #X11 spec based on #Xembed and if some desktop environment insists on only supporting the newer standard based on #dbus, well, screw that. Too much complexity, sorry.
The real issue is #localization (#l10n), specifically "just" translations. I still have no good concept for that. With #Qt, it was a no-brainer to also use Qt's mechanism. Without a toolkit, obvious choices would be either #POSIX message catalogs, or #GNU #gettext. The latter is much more convenient, but pulls in extra deps (with #GPL/#LGPL foo). Both have in common that they only operate on char* ... 8bit encodings. I have many of my texts stored as char32_t (#Unicode UCS-4 or #UTF32, difference doesn't matter much here). I could redesign that to base everything on #UTF8, but I'm a bit reluctant ... why add more runtime conversions?
I seriously think about coming up with my own tooling. But then, how far should I jump? Should I really try to parse my own source (using LLVM's #libclang for example)? Or should I hardcode tables with identifiers for all translatable texts?
I'll sleep on that a few more nights I guess....
#X11 #emoji #keyboard