File Manager Integration for Linux (TortoiseHG)
Summary
Last milestone: Packages for Ubuntu/Debian.
Current development: Polishing the UI.
Current implementation
Source code
- Nautilus improvements (Fixed the Nautilus support for submenus used in extensions):
[http://bugzilla.gnome.org/show_bug.cgi?id=508878 The bug report]
[http://bugzilla.gnome.org/attachment.cgi?id=112340 the test case]
[http://bugzilla.gnome.org/attachment.cgi?id=112370 Patch for libnautilus-extensions]
- A new version with this bug fixed was released by June 30 (Nautilus 2.22.4).
[http://www.calcifer.org/hg/tortoisehg-gpoo/ TortoiseHG with my patches as changesets]
- [Debianization of TortoiseHG]
Ubuntu packages
There are packages available for Ubuntu at [https://launchpad.net/~gpoo/+archive Personal Package Archive]:
nautilus. A fixed version with support for submenus working fine in extensions.
mercurial-tortoisehg. A version to use hgtk from the shell.
nautilus-mercurial-tortoisehg. A plugin for working
It is possible to use those packages to build them for Debian or any other Debian based distribution.
These packages have some caveats:
hgtk about doesn't work, because it has problems to load the COPYING.txt file. As a document file, it is stored compressed, in a different directory whic
- Icons are not shown in Nautilus' menus.
Observations
Packages and distributions:
- The paths used to load icons and files should not be hardcoded, because packages must be relocalatables. The same is applied for distutils (setup.py).
The hard part is the use of the environment variables TORTOISEHG_PATH and THG_ICON_PATH. Probably having a single file (init.py) could be helpful.
Nautilus menus:
- There is no order to load the menu items.
- It doesn't matter the order the menuitems are created.
- I thought it was sorted according the name of each menuitem, but using names such as 10foo, 20bar, ... neither seems to work.
Milestones
TBD.
User Interface improvements
From a technical point of view, it seems it is not clearity when a GtkDialog and/or a GtkWindow is used in TortoiseHG. Some of them are GtkDialog and some of them GtkWindow without any clear distinction.
=== Stuff than can be improved ==
TBD: Add screenshots with mockups.