Google Summer of Code Proposal: File manager integration for Linux.
gpoo at ubiobio.cl
Mon Mar 31 21:09:25 CDT 2008
I sent the following proposal for GSoC. Some personal information
was added in the detailed description.
I just read about another proposal about Shell integration (Nautilus
and Windows), but it was detailed just for Windows environment. I
hope this does not mean any conflict in any place.
I will extend Mercurial and Nautilus to make Mercurial more
user-friendly. These features includes aids for common tasks available
through menus in a file manager and offer a GUI for managing the project
I have two different goals:
1. Provide a GUI to follow a project like Mercurial.
2. Provide integration with a File Manager, in the same way that
TortoiseHG allow to Window's user.
The GUI should use the Mercurial's API and to provide the
funcionality available by the shell.
The File Manager's integration should provide the same funcionality
(probably not all of them) as an quick access. It also could
call the main GUI if were needed.
Because in Linux we have several desktop and hence several File
Managers, I have choosen Nautilus (the Defaul File Manager for Gnome)
a. It is the one I am most familiar with.
b. It provides Python bindings, so it iss possible to program the
extensions using both Nautilus and Mercurial Python API.
I have read the idea to provide an extension for the XFCE File
Manager (Thunar) in Mercurial GSoC's wiki. But I think the best way to
this case is:
a. Build Python bindings for plugins in Thunar.
b. Reuse the code I am proposing for this Google Summer of Code.
My rationales is use the best of both worlds (API) joined by a common
I will consider extending Thunar as a future work. If I can do any
advance in this respect, I will try to do it. The most File
Managers we can extend, the better. If the code can be shared between
all of them, much better.
I have read Mercurial's API before, but certainly with the
mentoring of a Mercurial's developer I could advance more and
do not get lost in my way.
As a proof of concept, I programmed an incipient code for extending
Nautilus File Manager which is available at
It was made only for purposes to teach how to extend Nautilus using
Python. My missing knowledge is Mercurial's internals.
Both, Nautilus and Thunar uses GTK+ and I am comfortable with PyGtk,
which is also available on other plaftorms.
Concepción - Chile
More information about the Mercurial