Cleaning the house (GSoC #6) & GUADEC

Some thoughts on Nautilus

During the last weeks, the code on Gtk+ side is more or less settled, so I started working on Nautilus.

The current situation is desperating.

Nautilus code is old and, after almost 20 years of hundreds of contributors throwing their coins in, things are in a poor state. Many different formatting styles, code tightly coupled, many old hacks still lying around… it’s very easy to get confused here.

So, before start trying to fit the new Places View code inside this spaghetti, we agreed on making a reasonable cleanup. You can already check some improvements on master, but there’s much work left to do.

Let’s take a look at Nautilus before:

Captura de tela de 2015-07-31 18-19-47

And how it looks like now:

Captura de tela de 2015-07-31 18-20-15

Spotted any difference? Hopefully not. This entire work is not related to UI, instead it is a major reorganization of the code. By the end of this cleanup phase, end users won’t notice any difference.

The main struggle here it to make the directory viewers (grid & list view, for instance) completely isolated, i.e. no widgets besides the views themselves are aware of the current directory. This may seem unintuitive at first, but this abstraction is needed in order to fit the new Places View, as it doesn’t represent a real location.

What changed up to now:

  • Moved management of empty states (empty folder & no search results) to the file viewers
  • Moved the floating bar to the viewers
  • Cleanup and reorganization of the focus chain
  • Removal of an old hack
  • Fixed an annoying bug

It may not look like a radical movement, but gosh, git says it -449/+382 lines of code, and each line of code removed and improved here counts.

GUADEC

As some of you may know, this year I’ll attend GUADEC. It’s the first time ever that I:

  • attend the conference
  • go to Sweden
  • go to Europe, in fact
  • bring paçocas and other brazilian sweets in my bag (as democratically asked by my mentor, under the risk of losing my life :P)

Now I have to find some vegan restaurants nearby to eat and a good park to meditate. Looks like there are some good options, but nevertheless I’m accepting suggestions here, in case someone knows (or even better, lives in) Gothenbutg.

Last but not least, I’d like to thank the GNOME Foundation for providing me shelter and covering most of the travel costs. It wouldn’t be possible without this kind sponsorship. See you all in Gothenburg, folks!


12 responses to “Cleaning the house (GSoC #6) & GUADEC”

  1. Freddie Avatar

    Every shop that serves food in Gothenberg has at least one good vegetarian option prominently advertised, and many have vegan food. When there, I was struck by how much easier it was to not be a meat eater than elsewhere in the world.

    One of the people I was visiting, who is a Swede living in Gothenberg, said of the situation: “Oh, yeah. I think there might be a law,” which is to say, vegetarian and vegan food is so common and ubiquitous there, that someone native to the place thinks (but has never needed to question or confirm) that there might be laws demanding it.

    It was good.

    1. Jóhannes G. Avatar
      Jóhannes G.

      Freddie, this was my experience with Sweden also. Lived there for 3 years and I was amazed at how easy it was to find vegetarian food. It’s pretty much everywhere. So much different from my own country where I might need to drive for several hours to find veg. food.

      1. David Weinehall Avatar
        David Weinehall

        Compare this to Finland, where they’ll tell you “sure, do you want chicken salad or salmon soup?” if you ask for vegetarian food 😛

    1. What a careful look! Fortunately, this has nothing to do with my work – it’s the internal GtkPlacesSidebar change to use a GtkListBox.

      Thanks!

  2. It would be really nice if the contextmenu could be replaced by a popover as well, that would
    1) make Nautilus useable on touchscreen
    2) be consistend with recent filepicker-dialog development

    Also the eject buttons are not working on touchscreen right now. If those two things could be fixed in the process of the reorganization that would be super awesome 🙂

  3. Paval Lubiecki Avatar
    Paval Lubiecki

    Nautilus is slow even comparing to other gvfs-based FMs (thunar, pantheon-files, pcmanfm)
    will it be fixed?

  4. […] Georges menuliskan laporan ini di blog miliknya. […]

  5. Johnny K Avatar

    Check out http://www.hagabionscafe.se for some good and cheap vegetarian food. It’s also pretty close to the main GUADEC venue.

  6. Nice work! that will help developers to write a better code 😀

  7. […] The sidebar is enormous and my entire screen isn’t able to display it all. So we came up with the “Other Locations” idea: a place where we keep persistent, fixed things, and open space for  the sidebar to display what really matters. The implementation progress in Gtk+ is well documented here, as well as in Nautilus. […]

  8. […] I worked as a Google Summer of Code intern with Gtk+ and Nautilus. We saw the very positive results of it. And the picky eyes out there noticed that I wrote with these exact words: “While the […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.