Celebration is in Order

chrs-1

In the The Final Piece post we announced the completion of our GSoC project i.), now like any other craft this too needs finishing, and polishing, so that the advantages of the project could be felt by the end-user using it and the developer working on it, who perhaps might improve this even more.

Aha! Let’s improve so that we can improve again!

The Finishing Touches:-

  1. Clean-Up

Clean up tasks involve removing the functions that lost their UI-building role to GtkBuilder.

  • Commit f28b86e5 removes all the dead functions.
  • Commits 8ad4e876, e5db0923, and 61eeb04f remove the lines of code which set data which is not used anymore.
  • Commit 99e0f7cf removes the unused struct members from _NautilusPropertiesWindow
  • Commit 1d2ce945 removes unused macros from `nautilus-properties-window.

diff1

diff2

diff3

diff4 a lot got deleted !

  1. GNOME HIG Compliance tasks

GNOME HIG: GNOME Human Interface Guidelines contain everything that’s needed to design effective applications using GTK+.

  • Commit 34393a2d sets valign property of the contents field so that the multiline message it displays is aligned to the first line.
  • Commit 33486e37 drops ’:’ symbol from all title labels, aligns them to the right and sets label styling to dim-label
  • Commit ffd4270b applies view style class to the outermost GtkBox to improve readability and contrast
  • Commit 96d317a6 repositions the icon in the basic page, to a position above the grid
  • Commit bf722018 makes use of top-widget margin instead of empty labels to apply spacing between widget groups.

before-after

  1. Code Modernization

This task deals not with introducing new features, or with making a better UI but it most certainly deals with making the code beautiful.

compiler_complaint something all of us have gone through ! credits: [https://xkcd.)

Here we make use of autoclean-up memory management mechanisms offered by GTK to handle memory for our local variables.


g_autoptr: The variable is cleaned up in a way appropriate to its type when the variable goes out of scope.

g_autofree : The variable is cleaned up with g_free() when the variable goes out of scope.


  • Commit 69d974bc makes use of autoclean-up variables to eliminate manual calls to g_free() and g_object_unref().
  • Commit 120c32ee makes use of "self" as symbol name for the NautilusPropertiesWindow* instance in methods and signal handlers.

HHUH.) branch (Yipeee.), so you can checkout the master branch, do a build and have a first-hand look at the new properties dialog yourself.

My take Aways from GSoC !

GSoC has been a great experience for me, It was something I had only dreamt of in the early days of my college.) I had always aspired to become an open-source contributor and got my first genuine opportunity with GNOME which also eventually became my GSoC project.) I had been using every-day without appreciating the fact that it was made up of blood, sweat, and tears of the community and contributors, and maintainers who daily work on it voluntarily, to keep the project going, keeping it bug-free, and of course, maintaining its awesomeness .).) I only hope the work I did enhances the user experience of the people using it and the developer experience of the hardworking contributors working on it!

During all this time I have grown closer to the community as well and made amazing friends, and connections, I feel these three months were by far the most amazing and productive months of my life.)I was able to build myself a new computer with the stipend I received so that now it won’t freeze on me when I try to apply a Cage Transform in GIMP or try to follow Blender tutorials on Youtube.

Now, before we end it we have got something to say-

I would love to thank my mentor Antonio Fernandes, whose iron-clad support has been with me since the day I posted my first message on #nautilus, This incredible experience wouldn’t have been possible without him.

- Apoorv

Reaching the end of the road[map] within the planned time was so satisfying! And looking back, it was full of surprises and discoveries that the original plan didn’t anticipate, yet Apoorv delivered as planned! Sharing this journey with him was very fun and I got to witness his growth into a fine GNOME hacker through honest dedication.

- Antonio

Well this is where it ends peeps ! Thank You !