digitalmars.D.announce - giD v0.9.5: GStreamer, json-glib, libadw, and libpanel bindings;
- Element Green (30/30) Mar 30 [giD](https://gid.dub.pm) v0.9.5 has now been released which adds
- Andrea Fontana (3/7) Mar 31 Wow! Well done!
- Dejan Lekic (2/6) Mar 31 Good job, as always!!
- Ian (5/9) Apr 08 This is amazing. Thank you!
- Dejan Lekic (13/16) Apr 09 It is 100% usable. giD has Adwaita too if you like it (Element
- Element Green (31/40) Apr 21 As Dejan said, gid:gtk4 support has a very high [API
[giD](https://gid.dub.pm) v0.9.5 has now been released which adds several additional bindings with the total library count now over 60 with [high API coverage](https://github.com/Kymorphia/gid/blob/main/report.txt). **New bindings include:** * [GStreamer](https://gstreamer.freedesktop.org/) libraries - Powerful multimedia streaming library * [Adw](https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/) - Building blocks for modern Gnome applications using Gtk4 * [Panel](https://github.com/GNOME/libpanel) - Dock/panel library for Gtk4 and Adw for developing IDE and other similar applications with dynamic interfaces * [json-glib](https://github.com/GNOME/json-glib) - JSON reading/writing library **Other changes:** * Variable arguments with signal handler callbacks. Only those arguments which are needed, in sequence, can be specified in the callback. * Derived object types can be used for signal handler arguments. * Add self property for with statement convenience, when using a newly created object as the with subject. * Object memory management improvements which fixes memory leaks and potential use after free issues. * Many other bug fixes, documentation, and binding improvements. The [API Documentation](https://www.kymorphia.com/gid) has been greatly improved and the search feature has been fixed. [gid-gtk4-examples](https://gid-gtk4-examples.dub.pm) has been updated to include some workarounds for memory leak issues and GError exception handling.
Mar 30
On Monday, 31 March 2025 at 01:22:12 UTC, Element Green wrote:[giD](https://gid.dub.pm) v0.9.5 has now been released which adds several additional bindings with the total library count now over 60 with [high API coverage](https://github.com/Kymorphia/gid/blob/main/report.txt).Wow! Well done! Andrea
Mar 31
On Monday, 31 March 2025 at 01:22:12 UTC, Element Green wrote:[giD](https://gid.dub.pm) v0.9.5 has now been released which adds several additional bindings with the total library count now over 60 with [high API coverage](https://github.com/Kymorphia/gid/blob/main/report.txt).Good job, as always!!
Mar 31
On Monday, 31 March 2025 at 01:22:12 UTC, Element Green wrote:[giD](https://gid.dub.pm) v0.9.5 has now been released which adds several additional bindings with the total library count now over 60 with [high API coverage](https://github.com/Kymorphia/gid/blob/main/report.txt).This is amazing. Thank you! Would you say GTK4 is already usable? It should be judging from the example, but just checking if you think it's still missing large chunks or will have large breaking changes.
Apr 08
On Tuesday, 8 April 2025 at 16:57:02 UTC, Ian wrote:Would you say GTK4 is already usable? It should be judging from the example, but just checking if you think it's still missing large chunks or will have large breaking changes.It is 100% usable. giD has Adwaita too if you like it (Element merged my PR a month ago). There could be some breaking changes until v1 is released, but nothing major I think. GTK4 examples: https://github.com/Kymorphia/gid-gtk4-examples/ Some more giddy (nickname for giD) examples are available here: https://codeberg.org/dejan/gid-examples (Adwaita, VTE, GtkSource, RSvg, Soup) Here is a tiny terminal application I am working on: https://codeberg.org/dejan/dterm Feel free to ask any questions either on https://github.com/Kymorphia/gid/discussions/categories/general or here. I am also available on IRC, nickname "Dejan".
Apr 09
On Tuesday, 8 April 2025 at 16:57:02 UTC, Ian wrote:On Monday, 31 March 2025 at 01:22:12 UTC, Element Green wrote:As Dejan said, gid:gtk4 support has a very high [API coverage](https://github.com/Kymorphia/gid/blob/main/report.txt) (99.6% method coverage currently) and is very usable. You can see a list of unsupported APIs in the linked report.txt. gid:gtk3 actually has better coverage and support for Gtk3 than gtk-d does as well. Having said that, we do consider the API to be unstable at the moment, hence the < 1.x version. The most recent release (v0.9.6) adds GObject property method support and did some significant renames to be more consistent (VariantG -> Variant, ObjectG -> ObjectWrap, etc) for example. Having said that, at this point I don't expect any major API breaking changes and we are nearing a 1.x release. At which point, the API will be kept as stable as possible within a major version. There are still areas that [gidgen](https://gidgen.dub.pm) does not support with respect to GIR APIs, such as GObject "virtual class" methods, and certain data type/ownership scenarios. Bindings for such APIs (though few) could be created manually or support added as needed. Virtual class method support will be added in the next release, though I have seldom used those, since there are typically alternative ways to execute them, since they are often connected to signals or used only when implementing a native GObject. More unit tests and user testing is also needed before I feel more confident there aren't any bugs or memory leaks. But I have been using it in a port of a rather large commercial audio synthesizer project [Kymorphia Alkimiya](https://www.kymorphia.com/products/alkimiya/index.html) with great success for a while now (website is a bit dated as it is still WIP), which was my original inspiration for creating giD.[giD](https://gid.dub.pm) v0.9.5 has now been released which adds several additional bindings with the total library count now over 60 with [high API coverage](https://github.com/Kymorphia/gid/blob/main/report.txt).This is amazing. Thank you! Would you say GTK4 is already usable? It should be judging from the example, but just checking if you think it's still missing large chunks or will have large breaking changes.
Apr 21