Category Archives: Library development

GObject design pattern: attached class extension

I wanted to share one recurrent API design that I’ve implemented several times and that I’ve found useful. I’ve coined it “attached class extension”. It is not a complete description like the design patterns documented in the Gang of Four … Continue reading

Posted in Amtk, gspell, GtkSourceView, Library development, Programming, Tepl | 3 Comments

Gtef 2.0 – GTK+ Text Editor Framework

Gtef is now hosted on gnome.org, and the 2.0 version has been released alongside GNOME 3.24. So it’s a good time for a new blog post on this new library. The main goal of Gtef is to ease the development of … Continue reading

Posted in Gtef, GtkSourceView, Library development | 5 Comments

Re: Consider the maintainer

I’ve read this LWN article: Consider the maintainer. It was a great read, and I want to share my thoughts, from my experience on being a maintainer (or helping the maintenance) of several GNOME modules. GNOME has a lot of … Continue reading

Posted in GtkSourceView, LaTeXila, Library development, Me Myself and I, Programming, Thoughts | 5 Comments

Smooth transition to new major versions of a set of libraries

With GTK+ 4 in development, it is a good time to reflect about some best-practices to handle API breaks in a library, and providing a smooth transition for the developers who will want to port their code. But this is … Continue reading

Posted in GtkSourceView, Library development, Programming, Thoughts | 7 Comments

Thoughts on the Linux Mint X-Apps forks

You may be aware that Linux Mint has forked several GNOME applications, either directly from GNOME (Totem -> Xplayer, Evince -> Xreader, Eye of GNOME -> Xviewer), or indirectly via MATE (gedit -> pluma -> XEd). GNOME is like the … Continue reading

Posted in gedit, gspell, GtkSourceView, Library development, Programming, Thoughts | 12 Comments

Doing things that scale

In the software world, and with internet, we can do a lot of things that scale. Answering a user question on IRC doesn’t scale, only one person and a few lurkers will benefit from it. Answering a user question on … Continue reading

Posted in Library development, Programming, Thoughts | Comments Off on Doing things that scale

API vs ABI

I repeatedly see other people doing the mistake, so a little reminder doesn’t hurt. API: Application Programming Interface ABI: Application Binary Interface The difference can be easily explained by knowing what to do for some code when the API or … Continue reading

Posted in Library development, Programming | 6 Comments

Libtool convenience library to unit test private functions

Only the public API of a library is exported, so when a program is dynamically linked to the DSO (Dynamic Shared Object), it can only use the public functions. So how do you unit test the private classes of your … Continue reading

Posted in gspell, GtkSourceView, Library development, Programming | Comments Off on Libtool convenience library to unit test private functions