I've been spending a bit of time recently working on GNOME Settings. One part of this has been bringing some of the older panel code up to modern standards, one of which is making use of GtkBuilder templates.
I wondered if any of these changes would show in the stats, so I wrote a program to analyse each branch in the git repository and break down the code between C and GtkBuilder. The results were graphed in Google Sheets:
This is just user accounts panel, which shows some of the reduction in C code and increase in GtkBuilder data.
Here's the breakdown of which panels make up the codebase:
- Some of the changes make in 3.28 did reduce the total amount of code! But it was quickly gobbled up by the new Thunderbolt panel.
- Network and Printers are the dominant panels - look at all that code!
- I ignored empty lines in the files in case differing coding styles would make some panels look bigger or smaller. It didn't seem to make a significant difference.
- You can see a reduction in C code looking at individual panels that have been updated, but overall it gets lost in the total amount of code.