Boxes happenings in the 3.28 cycle

It is been a long time coming, but I finally decided to take a moment to summarize the Boxes happenings in the last six months. And a lot has happened!

git diff –shortstat gnome-3-26 gnome-3-28
162 files changed, 10913 insertions(+), 7951 deletions(-)

Firstly, I haven’t stated in this blog that I am maintaining Boxes for the last couple of releases. It’s been an exciting learning journey and I cannot thank Zeeshan Ali enough for paving the way for me.

3.28 has many internal changes and enhancements worth enumerating, therefore I am going to highlight the most relevant ones IMO.

No-Cost RHEL Developer Subscription

You can now subscribe for a non-cost Red Hat Enterprise Linux developer subscription and benefit from all the goods included in the Red Hat Enterprise Linux Developer Suite.

You read it first in Debarshi’s blog post!

Download an OS

Distro hoping was my hobby back in the days when distros were really different from each other. I feel that this is somehow coming back now with new players targeting the desktop market, such as Endless OS and Pop!_OS.

Boxes intents to make it easy for people to try new operating systems from the comfort of their current system. Whether you want to explore, run something in a contained environment, perform something risky and easily recover your installation, Boxes wants to make it simple.

I previously wrote a blog post specifically on this feature. Lots has changed since then and more changes are coming. Stay tuned!

Port to GtkFlowBox

Libgd was an experimental ground for us to introduce many widgets, including our re-sizable icon views with their selection-mode and convenient API. Boxes no longer needs libgd for that since Gtk+ has been evolving along the years and more modern widgets have been gradually introduced.

We ported the notifications from GdNotifications to GtkRevealer, and now the content views are GtkFlowBox and GtkListBox.

Visually it should look no different to the end-user, but for developers it means a significant code simplification.

$ git diff 749638d..eda5ee3 –shortstat src/icon-view.vala
1 file changed, 143 insertions(+), 336 deletions(-)

Migrating to GitLab

The migration to GitLab is another bit that shouldn’t make a difference from an end-user point of view, but is indeed a big deal for everyone involved in development.

Our Kanban board is now the homepage in my working machine.

New contributors are finally comfortable with the contribution workflow, and my bet is that soon we will have statistics to back that up.

File transfers

As simple as that!

A courtesy of Visarion Alexandru.

Port to meson

The word is that nobody ever wrote autotools files from the scratch, ever, but copied from an existing working project and tweaked it. I am no different. My understanding of autotools has been always superficial despite trying to learn it a few times.

No disrespect for those who came before. I acknowledge the needs of ancient times and I wouldn’t bash more something that’s so far from my domain.

The learning curve for Meson made me finally have the motivation to understand build systems. The cleanness of syntax and file structure is definitely medicine for my organizational obsession.

Special thanks to Iñigo Martínez for his dedication to help porting many of our components to Meson.

Handle mime-types

Yep yep, double click on an image/iso file and install!

That’s All Folks!

Many bugfixes landed in this cycle, so I encourage you to check it out.

GNOME Boxes 3.28 is the resulting work of 57 contributors!

If you are interested in contributing to GNOME Boxes, join us on irc.gnome.org, channel #boxes. We have #newcomers issues in our bug tracking so you can start from the beginning.