I’ve been aggressively pushing forward our new layout branch to integrate the new design work we’ve been iterating on. I don’t think we need to have it all done to merge to master, so we are rapidly approaching the time-frame for the branch to land.
There is much from the design still missing, but every day more pieces come together. I expect to have a good portion of it done by GUADEC.
A lot happened this week on the wip/chergert/layout branch. Here are some highlights.
- Georges landed a “focus mode” fullscreen mode for Builder.
- We’ve landed a patch in flatpak-builder to update terminal titles. This will allow us to scrape that info via the PTY in Builder for better progress messages.
- Document titlebars now match the primary-color of the content. We also fade between states. This took some craftiness to avoid cascading the entire CSS tree. Video example below.
- DzlPropertiesGroup is a convenient GActionGroup implementation for exporting multiple object properties from a GObject. This is more convenient than GPropertyAction when you are exposing lots of properties together.
- The TODO plugin was ported to C and employs various techniques to use reduce memory overhead.
- Dazzle gained convenience API to do insertion sort on a GtkListStore in O(log n) time by accessing the GSequence directly. This should be a safe layer-violation on Gtk+ 3.x.
- Terminal, Devhelp, and HTML-Preview were ported to the new layout design.
- IdeSymbolResolver gained a “find nearest scope” API which is used to update the scope name in the document titlebar. Both C and Vala are supported. Other languages need an implementation still.
- The project tree was tweaked to look more like the mockup. While this won’t be our default project-tree for 3.26, we will keep it around and therefore it should match the design.
- Overview map was ported to the new layout design.
- Plugins should use the new IdeBuffer::change-settled API to be notified of when they should update their state based on buffer content (unless alternate API is provided via the plugin interface).
- We’ve added type icons to the devhelp search that match the language-feature icons used elsewhere in Builder.
- Scrolling to the insertion point on buffer load has been vastly improved.
- Performance of buffer loading has also improved.
- Todo and build diagnostics have been ported to the new design.