Glib contributions

Hello all,

Since several weeks, I decided to contribute to the GLib. Mainly because I have spare time to spent and I used GLib a day to day basis for more than 5 years. Since this library helped me a lot with my work, it’s time to return the favour.

For first contributions I made, i wandered around the gitlab issues tracker and pick what I feel able to solve. Now I wonder if there is not a better way to contribute more accurately. Is there a mean to know which tasks I should pick first (roadmap planning, priority …) ?

For skills, I mainly used gdbus , gmainloop , data structure, I/O on unix platform. I used also a lot the GObject introspection and the python binding with pygobject.

Thanks for the help and keep up the good work !

May I ask what GLib functions you use with Python?

Because I wonder which GLib functions I should explain for my Nim GTK4 book ( Some people told me that I should just ignore GLIb, as GLib is mainly for plain C and high level languages generally have own functions which cover GLib. But I would like to explain at least a few useful GLib functions. In the GTK3 examples I used g_strreverse() as one simple example, but that is not that useful.)

I used too much of them to list here, but a non exhaustive list can be:

  • GLib.Variant class
  • GLib.MainLoop and GLib.timeout_add_* , GLib.idle_add and GLib.source_remove
  • GLib.GError
  • GObject.GObject (for extending my python class and use GObject signal for example)
  • Gio.DBusProxy , Gio.DBusConnection , Gio.bus_own_name , Gio.bus_get
1 Like

Thanks. GLib.Variant, GLib.timeout_add, GLib.idle_add, GLib.GError are indeed used in Nim too, but mostly hidden from the user.

The DBus functions may be interesting, I have to learn more about DBus.

GLib.Value would be another one, and then basically all types that appear in other API (GLib.DateTime, GIO.*Stream, GIO.ListModel/GIO.ListStore, GIO.Menu*, GIO.Action*, …).

1 Like

Thanks for the steady stream of contributions, Frederic! It’s really nice to see people contributing back. We really appreciate the contributions :slight_smile:

I’d say you should work on issues which you hit in your daily use of GLib. That way, you know exactly what problem needs to be solved, and you will end up testing the fix quite a lot in your daily use of GLib. If you’re using Python a lot, you may also want to look at pygobject or gobject-introspection issues, as they are closely related to GLib and also suffer from a lack of contributions.

When prioritising tasks for working on, the GLib maintainers use GitLab milestones, although the amount of work we can get done for each release is constrained so that we don’t normally get all the issues fixed.


Thanks @pwithnall I’ll do that and also take a look at pygobject /gobject-introspection

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.