-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Settings window #1
Comments
I've added the learn word checkbox to the config window. But haven't figured out how to display the learnt words using only the fcitx config tool. It reads all configuration information internally from a file and does not permit any function calls. So we might have to build a tool to manage the learnt word list. @subins2000 |
@anoopmsivadas Oh I see, how to solve this requires a bit more thinking from a UX perspective too, we can further discuss this next time we meet up |
@anoopmsivadas Basically there are two options in fcitx. If you want a simple list, you can wrap a std::vector . The data and the storage does not have to be the fcitx styled ini. You can instead, create a fcitx::Configuration for only passing the data between configtool and fcitx, and fill the data just when getConfig/getSubConfig is called. Alternatively, you can create a qt plugin and do whatever you want with qt. |
For example, in https://github.com/fcitx/fcitx5-unikey/tree/master/keymap-editor For example, in classicui getConfig tries to fill some data just at the time the config is requested. (This example fills dynamic config metadata not data, but the idea is the same). For example, in keyboard engine, a vector of vector looks like: (kcm might looks better) |
Hi @wengxt , Thank you so much for the suggestions. I was exploring the latter option, that is creating a qt plugin. This is what we have in our ibus engine. |
@anoopmsivadas I'm aware of that UI. I think the what makes it tricky is that, when to notify the engine to reload? There's a few different approach on this depending on how the data is accessed. How is the data stored? Does it implicitly support concurrency access? or you'll need to notify engine to re-read the file? Also, here's another different approach we use in Pinyin. Screencast_20240529_082739.mp4I would personally prefer this approach since if user find there was something wrong memorized, they could directly erase it, instead of going to another UI and delete it. If you ask me about opinion the current UI you have for ibus, I would say..
|
The learnt words are stored in a SQLite DB
Yes, it supports concurrency since it's a SQLite DB, so no need to notify engine to re-read
We have this feature already, when highlighted a candidate we press CTRL + DEL to unlearn it (remove)
The UI is just another way to unlearn it
Yeah I agree, showing the timestamp doesn't add any value
Would be a nice addition to have Thank you for the suggestions! Me & @anoopmsivadas discussed this and decided to make a desktop app for showing the recently learnt words, for both the ibus & fcitx engines. This makes it easier for us to maintain everything. |
Also one more thing: Learn words checkbox
cc @anoopmsivadas
The text was updated successfully, but these errors were encountered: