Hacking GTG for dummies and very smart people
Hello prospective Getting Things GNOME! contributor, This is a short and self-contained guide to get you ready to hack gtg code in the easiest possible way. This guide supposes that:
- you have a GNOME desktop
- you have a Ubuntu-like distribution. If not, it's not a big problem: you'll have to look into installing the right packages yourself (and modify this page after!)
If you don't fulfill those requirements or you're just not scared by the CLI and a good old fashioned guide, follow this link.
Now that the hardcore guys are gone, let's get to the point.
Getting the code
Assuming you're on Ubuntu or Debian, you can use groundcontrol, a nice GUI way to take care of getting the gtg code and sending changes in. First, execute these two commands to install it:
sudo add-apt-repository ppa:doctormo/groundcontrol sudo apt-get install groundcontrol
Be sure to logout/login or restart Nautilus (ubuntu should ask you to do that), otherwise the next step will not work. Now, create a folder named "Projects" in your home folder and navigate into it.
You should see something similar to the following image (in your awesomer theme).
As you've probably figured out by now: click on "fetch project". Insert your launchpad credentials (if you don't have them, subscribe -- these credentials are the same of your Ubuntu One account, if you have that).
Search for "gtg", and select one of the projects listed (not the "Windows" one -- that is a porting project).
Almost done! Now, enter in the newly created "gtg" directory and click on "Fetch branch"
Select the "trunk" branch and name it "trunk" as in the picture. That is the place where we keep the latest version of GTG, still under development.
There, you've made it though! In the "trunk" directory (or whatever you've called it), you'll find all the code. You can try that by entering in the "trunk" directory and double clicking "gtg" (If a dialog shows up, just click "run").
It's hacking time!
Now, to be a respected hacker you should open your terminal in your ~/Projects/gtg/trunk directory. From there, if you run
./gtg -d
You'll launch GTG in debug mode loading your tasks, as usual. If you don't want to test your code on your precious GTG tasks (and you shouldn't want to do that), you can run
./scripts/debug.sh -d
Which loads GTG with a different set of tasks, that can be safely tortured at will without affecting your normal GTG session.
Now you know all the basic stuff needed to hack on GTG.
Some general directions follow:
If you are planning to write a plugin, have a look at this page
If you want to start fixing a bug, the bugs tagged love are the easier to solve
If you want to ask something, we are available in channel #gtg in irc.gimpnet.org (you can use xchat, empathy or pidgin to get into irc, or click here ). Just, don't expect to be answered right away.
- Read the HACKING file in the codebase for a lot more guidelines
- Be nice and friendly.