This page contains information about hacking and contributing to the GNOME Commander project. We encourage anyone who wants to contribute with code, translations, bugreporting, boil up new useful ideas, or just give some quality feedback that also is quite important. You are all welcome to sign up on our mailing lists and take part in discussions and development.
GNOME Commander is being developed in several branches:
The version numbers (major, minor and micro) follows the quite usual standard of odd and even versioning. Even numbers are stable versions, that are intended for all-day use. Odd versions are development versions that are usually not available as package/binary executable. To use them, you have to compile them yourself. Remember this when talking about GCMD or when sending patches.
In the master branch (GCMD v1.5) the team behind GCMD are now going to switch from gnome-vfs to gvfs/GIO. This will be the main task before releasing the next stable version.
In the future, the team behind GCMD are will further enhance python plugin support. Plugins should be dropped in the ~/.gnome-commander/plugins directory. The work on supporting meta-data also continues. The plan is to add this functionality to the searchtool, custom columns and the internal viewer. The TODO file gives a hint on what we are working on, or like to work on, and maybe appreciate some community efforts on. Users and developers are as usual welcome to contact us, ask questions and discuss the development on our mailinglists. If you are keen on fixing open bugs, have a look at the GCMD bugzilla page.
The official Git repository of GNOME Commander is registered on git.gnome.org. For more information about Git and Gnome visit live.gnome.org/Git. You can browse the repository or view the changelog of the master branch in your web browser. To check out the GCMD repository to your local hard disc, enter the following commands:
The instable master branch:
git clone git://git.gnome.org/gnome-commander
The current stable branch:
git clone -b gcmd-1-4 git://git.gnome.org/gnome-commander
The above only works for a first time download and not for updating
the code. If you already cloned the repository, run
pull inside the "gnome-commander" directory to get the latest
revision. To switch between the branches, run
For compiling the source code, run
autogen.sh && make;
install it with
make install as root.
The current instable master branch is for testing purposes only! Do not handle important data with it.
If you don't have Git installed, you may also download a snapshot package as a
tar.bz2 file from here.
If you want to contribute, send in patches, translations, having some useful idea or just some feedback, good or bad, then you are welcome to contact us thrugh our mailing lists or the authors directly if you want to keep it more private. If you plan to contribute by using git, we recommend to have a look in the README.commits document.
If you want to submit a patch please do so.
Although GNOME Commander is currently available in over 40 languages, there are still many missing and those to improve. The current status of all project translations can be found at https://l10n.gnome.org/module/gnome-commander/.
For adding a new translation simply download the potfile(s) from that page and rename it to LL.po (replace "LL" with your language code, see the complete list of language codes).
Here you will find the recipe on how to contribute your new or updated translation:
podirectory and run
You may find translation compedia to be quite handy as a reference. You can download some
from other projects and create
such a compedium by:
msgcat -o compendium-LL.po *.po
There are several translation tools available. Some of them are: Poedit (http://www.poedit.net/) and gtranslator (http://gtranslator.sourceforge.net/). KBabel could also be a good tool if you also have the neccesary KDE libs installed.
All translation files (LL.po) MUST be UTF-8 and to avoid corruption by mail application please send them as gzipped or bzipped attachments.
Alternatively have look at http://l10n.gnome.org/ if you want to start translating for more projects than just GCMD.
Translators may also find the service Open-Tran.eu useful, (not only European languages). It offers an easy access to the translations of open source projects. It acts as a kind of a central Memory Translation database where you can look up a translation suggestion or submit a whole .po file to the server.
Links to documents regarding GNOME Commander internals.
If you have the libraries above, and of course their sub-dependencies, devel-packages and a sane build environment, the usual "./configure make make install" procedure should work like a charm. If you are building the code checked out from Git, use ./autogen.sh instead of configure, in the Git case you also need to have the gnome-common files installed.
You can report or view GNOME Commander bugs at the gnome.org Bugzilla.
Though GNOME Commander is relatively free from bugs and is a quite mature program, no programs will ever be totally bugfree. New bugs can be introduced with new features, or through other programs and libraries it depends on, this goes especially for development and testing versions. Quality bug reporting is very important and can be a very good help for the developers to make a better program. Bug reporting is not an act of dissatisfaction, so you are very welcome to help us find, hunt down and kill the bugs. Testing of new releases and bug reporting is the best way users without programming knowledge can help out in the development of a program, and those with programming knowledge are very welcome to suggest fixes and/or send patches to the developers, all in the spirit of free and open source software.
Given enough eyeballs, all bugs are shallow.
There are two mailing lists regarding GNOME Commander.
The user list is mostly for topics about using GNOME Commander, a kind of support list. The devel list is where the developers of this project are discussing topics about the development. For the moment, all posts from non members of these lists are beeing held for approval due to spam reasons, but anyone are welcome to sign up on the lists and post unmoderated. So, if you post without beeing signed up on the list, your mail will be moderated before it is sent to the list, and remember that you should make a note in the email that people should CC their replies to you if you not are on the list.