Skip to content
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

IME support #370

Open
bjorndm opened this issue Mar 1, 2023 · 6 comments
Open

IME support #370

bjorndm opened this issue Mar 1, 2023 · 6 comments

Comments

@bjorndm
Copy link

bjorndm commented Mar 1, 2023

I would like to work on getting IME support into the go language wrapper of GLFW. While this is only a PR I need it downstream in Fyne. Any suggestions on how to help out with this are welcome.

glfw/glfw#2130
fyne-io/fyne#618

@Jacalz
Copy link
Collaborator

Jacalz commented Mar 1, 2023

Carrying patches downstream can be problematic and is often, but not always, quite a big burden for maintainers.

I don’t personally know how much the upcoming glfw 3.4 release (on their master branch) compares to the stable v3.3.x releases that we are currently using. It may or may not be problematic to backport to the older release depending on how much the code has changed in between (before that PR was merged into the master branch).

As someone that has maintained Linux packages before, I am not a huge fan of carrying patches downstream. They often break when there are new releases (such as new minor v3.3.x releases in this case) and thus require manual intervention to get them working. That manual intervention can be both tricky and time consuming sometimes. We only carried patches when it was absolutely necessary for having the package working. Everything else could wait for the next release.

No offence, but the best option is, in my opinion, to just wait for the v3.4.0 release of glfw. I absolutely understand that it isn’t ideal for you but it is a huge PR and the cost of maintaining it as a patch just feels problematic to me.

@bjorndm
Copy link
Author

bjorndm commented Mar 1, 2023

@Jacalz Thanks for the heads up. I certainly understand your point of view. I'll probably have to make a personal or corporate fork of glfw of go-gl/glfw and Fyne and bear the burden myself like that, but I hope to contribute back once this gets merged upstream. However the glfw upstream is extremely slow so I can't afford to wait for that at least for the relevant project I have. So , I guess this issue here is on hold until further notice.

@Jacalz
Copy link
Collaborator

Jacalz commented Mar 1, 2023

Yeah, they are unfortunately quite slow with their releases. I totalt understand that you have to do it that way and can't wait.

One option that might be doable is to carry a v3.4 branch for testing of the upcoming release. I would suspect that it could be helpful for other purposes as well (testing but also to make the switch to v3.4 faster once it gets releases as stable)

@bjorndm
Copy link
Author

bjorndm commented Mar 1, 2023

Well, a v3.4 branch might be helpful, but I still have to see how I will do this. I was considering naming my branch of glfw glfwff (ff for fast forward or fully featured) and then also using that in my clone of this project.

@bjorndm
Copy link
Author

bjorndm commented Mar 3, 2023

Actually a 3.4 branch would be very useful because the internals of glfw have changed (see the master branch) so the cgo code will also have to change significantly.

@bjorndm
Copy link
Author

bjorndm commented Mar 3, 2023

I was able to do something: #371, FYI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants