This page contains information about hacking and contributing to the GNOME Commander project. We encourage anyone to contribute with code, translations, bugreporting, new useful ideas, or just give some quality feedback that also is quite important.
If you would like to get involved and don't know where to start, have a look especially into the TODO file. This file gives a hint on what we are working on, or like to work on, and maybe appreciate some community efforts on. You are also welcome to sign up on our mailing lists and take part in discussions and development. If you are keen on fixing open bugs, have a look at our Bugzilla page.
The team behind GCMD is currently working on switching from obsolete libraries, e.g. from gnome-vfs to gvfs/GIO. This is a major task and, thus, will take some time.
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.
GNOME Commander is being developed in several branches:
The version numbers (major, minor and micro) follow the standard of odd and even
versioning. Even numbers are stable versions, that are intended for all-day use.
Odd versions are development versions. The version number is stored as git-tags in the
git repository. To see all of them, just type
git tag. The current one is
also stored in the first line of
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-6 git://git.gnome.org/gnome-commander
If you already cloned the repository, run
pull inside the gnome-commander directory to get the
latest code revision. To switch between the branches, run
make checkbefore every commit? Nothing easier than that: Just type the following command when you are in the top directory of the GCMD repository:
ln -s ../../pre-commit.sh .git/hooks/pre-commitNow, all your commits are automatically tested before they are actually committed via
git commit. When you only have a small commit to be made, where no check is necessary, you can avoid it with the command
git commit --no-verify.
In general, the usual
./configure && make; sudo -i make install procedure should work like a charm. If you are building
the code checked out from Git, use
./autogen.sh instead of
./configure. Don't forget to install the dependencies
which are reported in the configure step.
There exists a Dockerfile for compiling
GCMD in an Ubuntu environment. Start building it with the command
sudo docker build . inside the top directory of the GCMD repository.
If you want to contribute, send in patches, having some useful idea or just some feedback then you are welcome to contact us or you can make a pull request on GitHub against the GCMD repository.
If you have some good ideas for stuff that you want to see in this program, check the TODO file first before sending a message to the mailing lists.
If you want to submit a patch via email:
diff -Naur old_file new_file
The current status of all project translations can be found at GNOME's Damned Lies. For adding a new translation simply download the initial potfile of the master branch and start translating by renaming the file to LL.po (replace "LL" with your language code, see the complete list of language codes). Or take an already existing po file from the list on the page given above.
Here you will find the recipe on how to contribute with 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.
Have a look at l10n.gnome.org if you want to start translating for more projects than just GCMD.