This year I’ve been to my first GUADEC in Karlsruhe, Germany. It was an awesome week, as I got to meet my mentor in person and a lot of other friendly people. Being part of the GNOME community it’s really amazing !

In the core days, I attended talks and I even had a lightning talk and though I never did this before, I managed to handle it well. Besides this, we also enjoyed other activities, like the picnic, where we played some really fun games, or having some drinks together.

During this week, me, Carlos and Razvan also spent some time together working on Nautilus, reviewing, polishing and discussing ideas about our projects. I really enjoyed this, as discussing in person is much better than doing it online. Besides this, we had a Nautilus BoF as well, where we discussed some interesting things about the past, present and the future of Nautilus.

Apart from these activities, we also did other cool stuff like going on the zip line in the park, or relaxing at the swimming pool, all adding up to making this week an wonderful experience.

I would like to thank GNOME for the sponsorship to attend the conference and let’s hope that I can attend next year in Manchester 🙂



Batch rename updates

Hey everyone, in these past weeks I’ve been working on implementing Allan’s design and now I’m getting closer and closer to having the work completed.

This is how the batch rename dialog looks like now:


The format mode consists of an entry where you can add several tags, like the original file name or numbering. For files with metadata, the user also has the option to add relevant information, like the creation date for photos or the artist of the song for music. The metadata is acquired using a tracker query, then stored and used when needed. Apart from this, there can be written text anywhere between the tags. So, now, for a photo, instead of having a default meaningless name, we could have something like this:

photo 2

If there is added numbering, there is also the option to sort the files based on some criteria.  The Add button pops up a menu with the tags that are currently available. Here is how the menus look like:

Photo 4                                     Photo 3

Keeping the arrows and labels in the listbox the way we wanted proved to be a little more difficult than we expected. The obvious solution was to use GtkSizeGroup to make the labels have the same width, but this proved to be a bad idea due to the big complexity of the GtkSizeGroup, making the dialog completely unusable when renaming a few thousand files. The workaround we used was to have three listboxes instead of one and add both the listboxes that hold the name labels in a GtkSizeGroup. This way, it looks nice and it also takes a decent amount of time.

The replace mode works the same way as it did before, having suffered only a few design changes, like the entries not being on the same row and adding highlight to the replaced text.

Screenshot from 2016-08-04 22-43-37

Conflicts are also handled in a different way now. When a conflict occurs a label with two buttons pops up, so the user will be able to navigate through all the conflicts. When the arrows are clicked, the next/previous row with a conflict is selected in the listbox.

Photo 5

Also, I will be coming to GUADEC, so see you there! 🙂


Batch rename updates

First results

Not so long ago I finished my last exam and though I didn’t manage to spend as much time as I wanted on the project during my exams period, I added two modes for the batch renaming: Add Text and Replace. Add Text is appending/prepending  a string to the name and Replace replaces a string from all files selected with another.  Here is a video of how this modes work.

Something else I approached until now is handling the file conflicts. When renaming multiple files, there’s a chance that one or more files will end up having the name of an already existing file, making the renaming impossible. Until now the user would have seen an expander that shows a list with all the conflicts, but we decided that it would be better to change this design.

Initially, we followed the design of Finder since it seemed good enough, but it actually has some flaws. Carlos decided to ask for ideas on his blog and that turned out really well since we got a lot of good ideas, like using metadata. With the help of that blog post we also got to Alfredo from DeviantArt who offered to help us with design ideas (Here is his work). On the design part we also got help from Allan Day who offered us a very nice mock up, which we decided to use. What I like most about Allan’s design is that it uses tags and this leads to a more flexible renaming process.

I’ve already started working on the new design, so on my next blog post I expect to have some major improvements.

First results

GSoC 2016



Firstly, I’d like to say that I’m really excited that I got accepted to Google Summer of Code 2016 and for having the opportunity to work on such an interesting project as Nautilus.

The first time I learned about open-source and Linux was in the first year at University and since then I’ve been a user of open-source software and now I’m really glad to say that I’ve become a contributor. I started contributing in February this year and one thing that I love about GNOME is the community, which has some really helpful and friendly people. The person who helped me the most is my mentor, Carlos Soriano, who offered me his help every time I needed it, for which I thank him a lot!

This is my first real project that I’m working on and I can say that doing something that you know will actually benefit people gives an amazing feeling. The goal of my project is to provide the ability of renaming multiple files in Nautilus easily, using a simple, nice and intuitive UI. Until now, you could do batch renaming only by using a third party tool, but that meant that you had to spend extra time for a simple task. The way I picture this new feature is by offering several modes of renaming like append/prepend, replace or format.

Here I’ll add updates about my work, so you can follow this blog to see how my project will progress 🙂


GSoC 2016