-
Notifications
You must be signed in to change notification settings - Fork 71
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
RFC: Add initial fcitx5 support #202
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! 🎉
I'll fix the issue OpenBangla/riti#11 soon, so you can fix the TODO's 😊
Thanks!!
I don't think it'll be. The internal state is not shared between separate contexts, so it'll create a new context every time. I have resolved the OpenBangla/riti#11 issue and will handle OpenBangla/riti#12 next. |
@wengxt I have filed a PR OpenBangla/riti#14 which will resolve OpenBangla/riti#12. |
Fix a typo bug which was causing Auto Vowel form setting to not work. Try to run the CI under Ubuntu 21.04 image. Downgrade fcitx version to 5.0.5 and install fcitx development package.
Hi @wengxt,
Because of the version degration, we are now having errors for missing functions etc.
I think we'll have to use workarounds for the missing functions. Can you give some details about specific features (functions etc.) we're using which were not present in 5.0.5, so I could cherry-pick them from Thanks! 😊 |
Don't require iBus or Fcitx libraries when building. Build the backend when it's library is found. Throw fatal error when both iBus & Fcitx libraries are missing. Naming change.
the missing function just simply read the modified time of the file, the implementation is relatively simple, but non-trivial when comes to cross platform (the complexity mainly comes for bsd). I'll take a look and may be simplify it a little bit. using fstat in conjunction with existing standardpath function might bit simpler solution. |
@mominul Yeah, I saw that. Actually I just made a change to replace the shim with using C++17's filesystem::last_write_time, that would make it simpler since fcitx5 would require C++17 anyway. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much for the contribution @wengxt!
This is an initial implementation for fcitx5. I briefly tested it, and it seems to work, but I'll need some comment regarding certain piece.
Is it ok to create more than on riti_context? I noticed that the underlying user dict is shared.
Riti would need to be fixed due to rust c string memory leak, see Memory leak with function like riti_suggestion_get_lonely_suggestion riti#11
Right now as for the configuration file, it is not shared and stored in a fcitx specific location. This is more convenient for fcitx because it will automatically generate a UI in fcitx configtool.
![图片](https://user-images.githubusercontent.com/259684/108890310-4532e280-75c2-11eb-9ff8-fd1233f3a95d.png)
![图片](https://user-images.githubusercontent.com/259684/108889482-48799e80-75c1-11eb-81f3-91bbbfe0ece1.png)
(String in the image is more a place holder purpose due to no proper i18n)
Missing i18n support.
Right now this is a pure Qt project so I'm not sure if you want to go with gettext. This could be useful if you want to use gettext and to run it on windows: https://github.com/j-jorge/libintl-lite