EggSettingsSandwich

GSettings is awesome, no doubt about it. Another uncommon thing we need in Builder are “layered settings”. We may have user “global settings” which are different than configured “project settings”. In comes in the form of a wonderfully named EggSettingsSandwich. It let’s you stack GSettings atop one another, and read from the highest priority layer … Continue reading EggSettingsSandwich

EggSignalGroup and EggBindingGroup

Have you ever had to deal with lots of GBinding or signal connection (and therefore disconnections) on indirect objects? A classic example for this is the GtkTextView:buffer GObject property. It’s not uncommon to find vastly broken code when it comes to this. People will g_signal_connect() and never disconnect. Slightly better is to use g_signal_connect_object()[1]. However … Continue reading EggSignalGroup and EggBindingGroup

GMenu Merging

One of the long missed features of GtkUIManager (at least from a complex application perspective) is menu merging. This is something that gets heavily used in “plug-in oriented” software. And as you might expect, a large code-base will often migrate into this direction simply out of code hygiene. I implemented something akin to this in … Continue reading GMenu Merging

Build Panel

Did you know that Builder has a build panel finally? That’s right, you can actually do what the name says now. Of course, we only have one IdeBuildSystem implementation at the moment (autotools), but if you implement that interface, you too can have your project building. Note that you can write build system implementations in … Continue reading Build Panel

Template-GLib

One of the things necessary in an IDE is the ability to create projects from templates. This is something we’ve been lacking since the beginning, and I’m finally in a position to follow through on it. So, templates. What is a template? We have a couple layers of templates needed. We have, at a macro … Continue reading Template-GLib

Command line tools

There is one thing that has been important to me for a long time in Builder, but I’ve been unable to solve the problem correctly until recently. And that is command line tools. I’m not naive enough to believe that I can convince every multi-decade Emacs and Vim user to switch to a Gtk-based application. … Continue reading Command line tools

Video Series

I’m nearly a month down on a branch for Builder 3.20. It’s goal is to radically simplify the process of creating plugins, and prepare for external plugins. We really wanted to create a solid plugin story before doing that and things are progressing nicely. However, I wanted to point out I put together a short(ish) … Continue reading Video Series

Keyboard Shortcuts

Many of you have asked for help with keyboard shortcuts in Builder. It was always something we wanted to do, but I was humbly waiting for upstream to get that into the toolkit so we would get it for “free”. Since that didn’t happen this cycle, I rushed Allan to put together an updated design … Continue reading Keyboard Shortcuts