Nautilus 3.22 is reaching it’s final phase, and as I have been doing in the past, this post will explain what new tools and improvements we worked hard to implement, what changes to expect, and what we couldn’t fit in. I need to confess I’m excellently amazed with this release, it has so many new things that I’m proud to say this is the best release we did of Nautilus since I became maintainer. This is possible thanks to all the underneath work we have been doing, and sometimes this requires the removal and re-implementation of some tools in a different form.

News

Lets take a look what we included in this release

Multiple Files Renaming

For some time users of Nautilus lacked a tool for rename multiple files at once. We relied on external tools or command line utilities. It’s true that other file managers had utilities for multiple files renaming for long time, including Finder from MacOSX. Thing is we weren’t happy with how those worked and the experience they provide. So we designed and put lot of though on making, in my humble opinion, the best batch renaming tool we could have.

We allow to use the metadata of the files when available, which is for me the biggest win in our tool. I’m happy I could rename all my music files using the track number, album name and track name. Same for TV shows, where you can add the season and episode. And for pictures, the camera and the date taken.

A picture worth 1000 words

Search & Replace

Rename with a template & metadata of files

Conflicts handling

And a real use case

Finally my music library renamed with the same pattern! I think you will agree with me this is pretty amazing. Thanks Alex Pandelea for this work!

Compressed files integration

You may be aware that we have been using File Roller since forever to handle compressed files. However, this makes integration with Nautilus none. It misses the progress report integration, undo, redo, and possibility to close the application while the operation continues. Finally we tackled this, it was a big amount of work where we needed to create a new library to handle compression and decompression in a way that can be integrated with Nautilus and other GNOME projects. For instance we would like Evolution and Epiphany to automatically compress/decompress archives on upload/download. Using this library, called gnome-autoar, is pretty simple.

Again, a picture worth 1000 words, let’s look at compression dialog

We provide a sensible set of options. Now let’s take a look at compression progress integration.

We finally have status report, undo, redo and operation integration like any other Nautilus operation!

The same applies for decompressing. Overall, this is something we have been pursuing for years, and the output is pretty cool. This allows us to finally be able decompress archives by default when double clicking on them, so the user doesn’t need to handle compressed archives, which usually provide much less information like thumbnails etc than a regular folder. In case you still prefer to use file roller or any other application by default to manage your compressed files, we added a preference in the preferences window.

Here you can see the option “Extract the files on open”

Thanks Razvan Chitu for this work!

View menus

As you may be aware, we perform user testings regularly. In the last user testings was found that the view menus of Nautilus had some issues that could be improved for a better UX experience. The design team put some though into it and came with a design that fix these issues, and Neil Herald implemented them. Here are the results

Now the grid/list button changes between the two kind of views, and we merged and improved the hamburguer menu to include all the options we wanted. The zoom slider was one of the most fails in the user testings, so we took a similar approach of what Firefox has.

I’m quite happy we fixed the user testing issues we found every release!

Separate desktop handling from Nautilus

There are two monsters on Nautilus. One is the operations handling, the other, the views.

Since I became maintainer of Nautilus my top goal was to re-implement the views of Nautilus to provide what we should have in a modern file manager. This requires an amount of work unimaginable, and part of that is because Nautilus handles the desktop window, which is made by several amount of hacks all around Nautilus to make it work. This needed to be split before any work can be started on the views part, and it is not easy. We started one year ago, and I’m happy to say, this release we finished the work on the Nautilus side, separating the desktop program and code from regular Nautilus. Now if the desktop crash, Nautilus won’t. This allows us to finally implement a modern and responsive view for your files!

This is a peek video at the view I prototyped thanks to this work

However, this requires also work on Gtk+ for improving the performance, which is what we are going to try to tackle next release. More than half step is done!

Better folder creation from selection

This is a small touch, but I think worth mentioning. When selecting multiple files and creating a folder with them, we will search for a common prefix and use that as default name. Here is a picture

Thanks Neil Herald for working on it!

(Updated, I forgot!) Hide floating bar on mouse hover

The floating bar is what is shown in the rightmost lowest corner of Nautilus with information. However, that can get in the way if the information is displaying is long and obscures the actual content of the view. For that, we implemented a new behaviour that makes the floating bar disappears if the user hovers it with the mouse.

What we couldn’t include

As always, we want to put into a release as much as we can, but we are still humans 🙂

There are two important items that weren’t possible to include in this release.

Action & Info bar

One is the action-info bar we have been experimenting with. We didn’t include it because we weren’t sure about the design and implementation. However we can peek at the prototype

We will continue experimenting in the next release.

Thanks Georges Stravacas for working on it!

New Path bar

The path bar is the widget in the top of the Nautilus window that shows the path, and allows to interact with the hierarchy of the current folder where the user is. We have been trying to update it with a more sane code and elegant design. I have been working on it and iterating through almost 4 different designs for one year and a half.

After all the experimenting, we finally decided on a design!

However, there are technical limitations in the Gtk+ toolkit for make it work in the way designers imagined. So this has been an experiment for me and towards Gtk+ to push its limits. Finally I found a way to make it work, but all the nice projects I mentioned previously came in.

I’m sad I didn’t manage to include it in this release. On the other side I’m happy that we have a prototype and that we will have more time for testing and reviewing.

If you want to take a peek, here is a video demo

Wrapping up

There has been a lot more into this release, from small tweaks to big refactorings and bug fixing. We even created a single code style for Nautilus (it had a mix of 3 styles) and (be careful it might crash your browser) changed all the files to it, which was a demand from all the regular contributors. (edit: please don’t argue about this, the style is agreed by the ones that work on Nautilus every day that makes our performance and life better. Just a matter of practicity. Nothing more, nothing else 🙂 ).

For this release we have around 900 commits and five regular contributors, which I want to thank one that has not been mentioned here, but it does all what we really need in the places nobody dare to, you rock Ernestas Kulik.

If you want to try last version with updates every day and parallel installable to not affect your installed Nautilus, take a look at the Flatpak installation of latest Nautilus.

Hope you like what we have been working on and enjoy it!