kojix2 / LibUI

A portable GUI library for Ruby
MIT License
205 stars 10 forks source link

libui-ng - "beta" ffi for it, for "early testing"? #50

Closed rubyFeedback closed 2 years ago

rubyFeedback commented 2 years ago

Hey there kojix2,

I saw your activity/issue tracker in regards to libui-ng.

cody271 wrote about libui-ng needing more time before a "milestone release" (or however he calls the first major release of libui-ng, which as far as I understand has not yet been released).

I would, however had, already like to test libui on linux specifically, via ruby, if that is possible. This of course needs the ffi-specific code you wrote already (for andlabs libui), and I assume this is not yet adjusted to libui-ng, since the libui-ng code has some changes listed in the CHANGELOG file.

As far as I understand the ffi-specific code for the ffi-specific libui code you wrote is stored here:

https://github.com/kojix2/LibUI/blob/main/lib/libui/ffi.rb

So, my first thought is ... what if a second .rb file is added there, in the same directory, that specifically deals with the changes of libui-ng only? That is, a single new .rb file that focuses only on the changes that were made in libui-ng.

My basic thinking here is the following:

Then they could perhaps selectively use what they want to, the original libui, the libui-ng variant or both.

I am not sure if this is too much work, so please take this only as a rough idea. I know too little about C and ffi to really understand how it works, so my thinking may be off here.

I would love to test the changes that cody271 did, e. g. these ones in particular:

https://raw.githubusercontent.com/libui-ng/libui-ng/master/CHANGELOG.md

Last but not least, I saw you are asking or perhaps looking for support in maintaining libui. If you would like to you could add me on github (I think this is possible via the web-interface; I remember kou did so for ruby-gnome in the past) and as a co-maintainer on rubygems.org. My handle on rubygems is "shevy"; https://rubygems.org/profiles/shevy

The reason I use another nick on github is mostly because I use primarily rubygems for distributing code; and github primarily for feedback-related issues only. (I used git in the past, but I found it does not align well with my workflow. I am using mostly ruby scripts for my workflow, e. g. on rubygems pushing new releases is so much easier for me via my self-written scripts.)

In regards to trying to help maintain projects: unfortunately I do not know C, so I can never really maintain libui as a whole. But I can try to polish things every now and then if possible (and wanted).

Perhaps you can also add Andy - I have not asked him, but he possibly may not mind. Little changes can probably be easy to do, for instance, documentation or examples. (For example, if the new changes in libui-ng are done, I'd love to add examples, so if I can figure out how these work I could add them to libui too.)

Anyway, the TL;DR summary for the issue request here is:

rubyFeedback commented 2 years ago

(And if it is a beta release then just have the code on github, without yet making a new .gem release and advertise this. That way people can test as-is without having to wait, but it is not yet "official" for libui to endorse people use it. So this is really an early test/dev idea really. I don't mean this for everyone to use right now.)

kojix2 commented 2 years ago

I have released the current main branch as version 0.0.14. From now on, let's develop for libui-ng.

kojix2 commented 2 years ago

I'd like to add you as a collaborator, but your nickname @rubyFeedback sounds strange to me. Maybe you have another Github account not only for feedback, but also for committing code? Anyway, I will send you an email requesting a collaborator. Please approve it.

AndyObtiva commented 2 years ago

Hi @kojix2

Could you please add me as a collaborator too?

rubyFeedback commented 2 years ago

Thank you for the invite kojix2!

I will try to help when possible - as I don't know C (even though it's on my todo list to learn) I will try to focus on polishing and improving smaller things when possible, such as typos, documentation, perhaps examples (if I can understand them; there is a hurdle in regards to understanding the garbage collector, but I guess that is also tied to understanding C. Perhaps I should have started with learning C properly, but ruby is so much more fun than C!).

I will close this issue here in ~2 weeks if nobody objects, to help clean the bug tracker clean (I did not want to close it while Andy has the above request in place).

kojix2 commented 2 years ago

Hi @kojix2

Could you please add me as a collaborator too?

Sure!