GNOME Commander

A powerful file manager for the GNOME desktop environment

Dev Development

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. You are also welcome to sign up on our mailing lists and take part in discussions and development.

Branches and Versions

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.

Current plans

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.

Future plans

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.

Git Git Repository

The official Git repository of GNOME Commander is registered on git.gnome.org. There is also a copy at GitHub. For more information about Git and Gnome visit live.gnome.org/Git.

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

If you already cloned the repository, run git pull inside the gnome-commander directory to get the latest code revision. To switch between the branches, run git checkout $BRANCH.

Source code Building from source

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.

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.

Contributing Contributing by Developing

If you want to contribute, send in patches, having some useful idea or just some feedback then you are welcome to contact us. You can also 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:

Contributing by TranslatingContributing by Translating

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 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:

  1. Get a fresh copy of the program source (either from Git or snapshot)
  2. Unpack it and run ./autogen.sh.
  3. Update proper LL.po file: go into the po directory and run intltool-update LL.

You may find translation compedia to be quite handy as a reference. You can download some po files 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...

All translation files (LL.po) must be UTF-8. To avoid corruption by mail application please send them as gzipped or bzipped attachments. Better create a merge request via GitHub. Alternatively have look at http://l10n.gnome.org/ if you want to start translating for more projects than just GCMD.

Hacking Hacking documents


To top of page

 
Valid html 4.01 Strict!


Background image by heart Raines & Anomalin (CC-BY-NC-SA)