-
Notifications
You must be signed in to change notification settings - Fork 72
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
Gtk 4.0 released! It's time to upgrade. #315
Comments
Yes, please provide the gtk4 bindings. |
I sincerely hope that D catches up! If I was an expert at GObject introspection, I would work on this for sure. |
With commit 8617414 the gtk4 branch of GtkD compiles. I don't know if the compiled library works and the demos need to be updated. Still a work in progress. |
That's awesome. With a bit of tweaking, I was able to run a simple gtk4 application. |
@MikeWey Is there anything anyone can do to help? |
I'm currently "slowly" updating the demos to Gtk4 mostly to see if any issues with the generated binding show up. It would help if someone could work on updating some of the demos and reporting/fixing the issues that surface. I'm currently working on the two remaining in demos/gtk/. |
@MikeWey Funny you mention that because I started working through the TestWindow demo, it's compiling now, but I'm not sure if I have time to work through the runtime errors. There's a lot of breakage there, but luckily it seems to be relegated to
Here are my full notes, might be missing some stuff: GtkD 3 -> 4 Discovered breaking changes.Things that I think might have broken in gir-to-d code gen.Dialogs
TreeModel
TreeView
Menus
Frame
Button
GStreamer
Peas
Things that broke in the demo because of Gtk4 DeprecationsGtk
Gdk
Things I'm not really sure what's going onMany things that seemed to previously take things convertible to a gtk.Value, now require you to wrap them in a gtk.Value. gtk.TreeStore .setValue for example now requires a gtk.Value, and won't accept a string. |
Created a PR so you can see what I changed... Lots of broken stuff at the moment #320 |
The gtk3 binding still had a lot of thing manually tweaked to be compatible with an older generator that used the HTML documentation as a basis. So when switching to gtk4 i started with a blank slate, and because of that some/a lot of convenience functions may need to re added.
Missing because gir-to-d currently doesn't handle variadics, need to be added manually.
The old one also doesn't return the iter, marking it as out is correct.
Same issue as the dialogs.
On the GIO side MenuModel is an abstract class, so it is correct that it doesn't have a constructor. We could investigate attributing them as 'abstract' on the D side, that would require a solution similar to the one for interfaces to be able to return the abstract class from a wrapper function.
Was a manually added convenance function, may need to be re added.
These also will probably need to be re added, a more general solution for duplicate constructors in gir-to-d would be best.
One of them will need to be replaced with a static function.
Peas may depend on gtk3 GtkMenu / gtk.Menu was replaced by the gio menu model/classes with gtk4.
Probably a lot of convenience functions that are now missing. |
It has been more than a year since this thread began, is there any improvements? |
Where's the progress on this up to? Is any help needed? |
Posted this issue on BountySource. If you want to see this issue resolved, please help and contribute to the bounty: |
At least for Tilix, I would love to see this, but I'm afraid that interest in D is pretty low to make this happen 😞. |
https://blog.gtk.org/2020/12/17/who-wrote-gtk4/
The text was updated successfully, but these errors were encountered: