Friday, 16 February 2007

Nautilus Love

I've spent some time on the Nautilus Metadata Tile, as I had a few ideas regarding the UI. I can't go over the top with the colours and effects, as I hope one day this can be accepted into Nauitlus main. However, I have messed around with GtkStyle & Cairo, and have come up with this so far:

As you can see, I have just done a simple gradient between the base[GTK_STATE_NORMAL] and bg[GTK_STATE_SELECTED] from the active theme. I think it works quite well in practice, and doesn't 'steal' the focus away from the main icon/list view.

I have also added a GTK_STOCK_EDIT button in the bottom right, clicking this will swap the tags GtkLabel, to a GtkEntry, so you can edit the tags.

I also got round to adding some of the other tiles, and some icon/thumbnail support. Below are some screenshots (with different colour schemes to show how well behaved the gradient is ;).

As you can see in the Image tile, if an image has data about the camera/camera model, the title will reflect this (don't laugh at my camera model ;), exactly like what happens with a music file.

I still need to add the document tile, but I have left that till last because it will have a snippet of the contents, and I need to decide on how to present this!

I am still making code changes, so if you have any more ideas, or want to add anything to the tiles, let me know in the usual ways.


Jack Kerouac said...

Very nice.

When are you going to have something we can try out?

Anonymous said...

That is very cool, hopefully it will get integrated into Nautilus sometime in the (very)near future

Anonymous said...

I LOVE IT! Can't wait to get some code to play with, but take as much time as ya need :-) . You have a loyal lurker here!

Unknown said...

you rocks !!!
you have a lot of good ideas, and better, you are able to transform it in reality.

btw what tools do you use for developing ?


Anonymous said...

Great work.
What do you think about adding a bit of visible border around this metainfo thingie ?

Neil J. Patel said...

Thanks everyone!

@patrick: Hopefully soon, I want to make sure it is robust before releasing anything. Especially as it is integrated into the single most inmportant thing on your desktop!

@marco: Just the usual, Vim, GIMP and the greatest piece of software ever: Devhelp :).

@anon: Sounds good, I'll have a go and see how it looks.

Anonymous said...

Neil, congratulations. Your ideas are always interesting and they are incredibly fast to turn into reality! :)

BTW if you want to stay fair with actual Nautilus and want more chances to get this to upstream (i hope so!)... how about adopting the present layout for custom headers in Nautilus? The one you see in the burn:/// directory, for example.

I've cooked up two mockups, having added an expander to the mix.

Collapsed info:
Expanded info:

Please don't pay attention to the actual text layout, it's just to give you an idea. What do you think?

Thank you anyway :)

Unknown said...

I made an other mockup. It's really funny to see that I'm not alone in my room to thing about thoose things... :-D

Neil J. Patel said...

@pollycoke : Its weird how we are on the same page :) I had the expander idea and was going to blog (with screenshots) tonight!! It looks exactly like what you have weird is that ?

Regarding moving the widget to the "extra-location-widget" area at the top, it sounds good, I'll try it tonight. Also, I might aswell make the solid orange look better while I am at it :)

Anonymous said...

"That's the power of love!" (cit. Huey Lewis and the News)

Seriously, that can only mean they're some pretty good ideas :D

Anonymous said...

I hope that Nautilus will adopt soon your innovation!

On the backend side I hope you will look to native embedded metadatas like XMP(, id3tag, there is also the standard Dublin Core (

On the frontend, I think it could be nice to show a minimun set of fields, e.g tags(subject), size, author,.. and show less common fields as an advanced view (>>) eg. Flash, Exposure,..

The advanced fields to show could be associated to the mime type but also user-defined (like the nautilus' columns).

I read that Windows Vista reads EXIF/IPTC/XMP for the images and it writes XMP-only. Probably this is the best approch to have persistent metadatas attached to files.

Enrico said...

Very good Neil !!!

What about this ? :

Jack Kerouac said...
This comment has been removed by the author.
Jack Kerouac said...

Was version 117 supposed to fix the 'windows rest upon the dock' problem? I only ask because it did not fix it for me.

Anonymous said...

Everybody likes to suggest to you mockups.. so here's mine

I think:
- the "metadata panel" should be in the bottom, because it is an extra
- it shouldn't be in the sidebar because the tags field could be long
- it should show just important fields (depends on mime) and the rest belongs to a new tab in the proprierty of Nautilus.

Anonymous said...

Very interesting, looking forward to playing with it. Will this also work with spatial nautilus?

And what will happen if more than one file is selected?

Anonymous said...

Probably something that should be implemented in version 2.0 (or 0.2 or whatever form of versioning you desire,) but it would be cool to have little media controls displayed in the metadata tile.

For instance, select a video and in the metadata tile play/pause etc display and you can watch the video right in the tile.

This would be useful if you are in a folder filled with obscurely named videos with similar opening sequences, thus thumbnails simply wont do. Similar implementation could be used for audio.

Just a thought :-)

Unknown said...

Looks nice! Is the code available anywhere? I'd like to get it working with Beagle.

Anonymous said...

Neil: GNOME needs to appoint YOU as the President of the Foundation and the Leader of all things desktop. You seem to be the only one that wants to make the desktop fun, exciting, feature-packed, colorful, powerful and useable at the _same_ time. exciting.

I saw the mock-up of your music-player/file manager application on Flickr and I wanted to do start on a project such as this using Python/Gstreamer. Please help! I want to learn how to override the boring stuff in GNOME and do something different for a change.

Anonymous said...

No words, you are developing alone 2 important projects (awn and nautilus metadata reader) for a entire community.

Thanks for the awesome work!

Neil J. Patel said...

@grigio: The tile just pulls the metadata from Tracker. I am not sure what tracker uses internally to extract metadata, you can check on the project website. Regarding the actually editing of metadata, I am still thinking of how to do it properly. Its something I will tackle after getting the 'displaying' part done correctly.

@enrico: that look v. good! I have made some changes to allow for two modes (minal & full). I'll post an update soon :).

@patrick : this is fixed as of today (I couldn't access yesterday).

@grigio : thats the look that I am hoping for (including the rating stars), I think you'll be inpressed with my next update :).

@anon : ATM on multiple files, it does nothing, but I want it to allow you to edit the tags of the files as a group.

@anon2 : This will be implemented in Awn 0.3, when apps can control their icons/tiles/popup menus through DBus.

@joe : I am spending today cleaning up the code and adding stubs for Beagle, I hope to post a patch this evening (GMT).

@anon3: LOL, I couldn't do half the stuff they do! Without the boring stuff you can't do the exciting stuff! Feel free to make a media based on the UI ideas, just mail (njpatel_AT_gmail_DOT_com) me as/when you need help getting Gtk to behave :).

@superman : Thank you!

Jack Kerouac said...


Here's a question for you:

My dock sometimes 'picks up' the background of whatever is behind it and keeps it until I right click or refresh the dock.

Here is what it looks like:

Here is what it looks like after right-clicking on it:

I'm guessing it's a Beryl issue, rather than your dock, but I thought I'd let you know.

Vincent Volaju said...

See this:

Is part of the mokup ( ) i'm making.

- JojoMan said...

You should so Join Gnome Yaar, they really need some more desi power over there. :).

Neil J. Patel said...

@vincent : That looks really cool! It _is_ possible (by placing aa custom GdkWindow inset into the view), but ATM it would be a hack. I have similer ideas to that, stay tuned :)

@abbas : Mudse patha hai yaar! GNOME me kuch desi log kum hai :)

Anonymous said...


I have been lurking watching Tracker for some time and I LOVE these ideas!

My favourite two "community" mockups so far, though, are:

I think being able to rate *any* file is invaluable when metadata querying. The tile should offer fundamental information by default, but allow for an "expanded info" view.

I also love the idea of a live preview of media. Obviously this will have its limits, but boy would that be clever!

Anonymous said...

This could very much replace the status bar... Looks nice

Anonymous said...

Do you have a GNOME Bug Id for this patch already? Bug 415684 works into a similiar direction. I want to join our efforts.

Unknown said...

It would be better to add this on the side, as a large proportion of modern monitors are much wider than they are tall, so the vertical space is much more precious.