FreeBSD | https://people.freebsd.org/~zirias/ |
C64 scene | https://csdb.dk/scener/?id=25812 |
Github | https://github.com/Zirias |
FreeBSD | https://people.freebsd.org/~zirias/ |
C64 scene | https://csdb.dk/scener/?id=25812 |
Github | https://github.com/Zirias |
Ok, I couldn't resist any more. Here's #French #qXmoji. Or, something like that ...? 馃檲
Dear native-speakers, if I messed up TOO badly, help me out and send patches / pull requests 馃ぃ馃嵒
(edit: ah great, I directly spot the first typo in this screenshot ... gonna fix immediately. Still, the hardest thing is to express technical things in french, I guess that counts as "domain specific language" and I really have NO idea how to do it)
#qXmoji v0.7 released!
https://github.com/Zirias/qxmoji/releases/tag/v0.7
This brings several improvements, mainly in the build system, but the major change is support for localization, with translated Emoji names imported from #Unicode #CLDR. I added a German translation, see screenshot. Once again, I'd appreciate more translations, the process to translate is documented here:
https://github.com/Zirias/qxmoji/blob/master/TRANSLATE.md
Updated FreeBSD port:
https://people.freebsd.org/~zirias/patches/0001-x11-qxmoji-Add-new-port.patch
#qXmoji is now completely translatable, and fully localized for 馃嚛馃嚜.
So, here comes a request for contributions 馃榿 (pretty please 馃檭):
More languages would be nice! Therefore I documented the process to add them here:
https://github.com/Zirias/qxmoji/blob/master/TRANSLATE.md
Adding features in a module with clear boundaries is so much more fun!
I just added different modes for using #Qt's #moc to my new USES=qt in my #gmake framework ... Testing it with #qXmoji (my new #X11 #emoji #keyboard) in the mode that just includes moc-generated stuff, and it works like a charm. No more extra compilation steps for moc, this whole build log now looks nicely short (screenshot: build from entirely clean git checkout) 馃コ
https://github.com/Zirias/qxmoji/commit/928bc8a1cc0fd1a54908bda13ba31042ed6b1471
#qXmoji v0.6 released!
https://github.com/Zirias/qxmoji/releases/tag/v0.6
This brings a *lot* of improvements and fixes, the most relevant being immediate persistence of settings and watching the settings file for external changes. To make this feasible also for restoring the history, a lot of work went into generating static emoji data that can be used efficiently (e.g. containing a hash table to find an emoji quickly).
BTW, this even works on #NFS, so if you have your home shared and you're running qXmoji on two machines as the same user, the history will auto-update in both instances 馃コ
Oh boy #Qt can get *nasty* if you need something "unusual" (like, initialize 4000 Labels all on startup 馃幎馃か).
So, I can't fix performance of this, but I can "defer" it with a hacky hidden class like this.
It uses #Qtimer for a 1ms pause between every single emoji, which was the *only* way I found to have Qt still process other events 馃く ... prefers the currently visible tab for initialization ... and "commits suicide" when done.
I'm proud and ashamed at the same time 馃ゴ
It seems fighting #Qt for better #performance can be a lost cause 馃槥 ... after a LOT of refactoring (finally even generating QStringLiteral entries in my #emoji data tables), setting an emoji as text on nearly 4000 QLabel instances is still slow as hell -- but now, compiling the emoji data is horribly slow as well (QStringLiteral doing C++ template "magic" ...) 馃檲
(And no, threading won't help here, Qt Widgets can't be used from worker threads ...)
At least I could speed up serializing/deserializing the emoji history. The new format is also surprisingly user-readable 馃槀