Commit 9bb81f58 authored by Colin Walters's avatar Colin Walters
Browse files


parent a82fe250
In order to keep the code nice and clean we have a few requirements you'll
need to stick to in order to get your patch accepted:
First of all, Rhythmbox tries to have a consistent code style. You will
need to follow this. Here's a summary:
- send unified diffs (-u option to patch)
- Code must compile with -Wall -Werror
- use 8-space tabs for indentation
- curly brackets are NOT on a new line, except for function definitions.
(we are slowly converting the code)
- if statements are written like this: "if (this != that)"
- g_list_next/previous is preferred to list->next or list->previous
- every function should have a prototype
- callback functions have a suffix _cb
- Code must compile with -Wall -Werror
- Major functions should have prototypes
- callback functions should have a suffix _cb
Rhythmbox is also highly object-oriented using GObject. Any major
additions should generally go into their own class, and not be bolted onto
an existing one.
Any patches you send should be in unified diff format (-u option to patch).
Most importantly, Rhythmbox is developed using the Arch revision control
system. If you want to make any major changes, it is highly recommended
that you create your own branch of the source tree, and work from there.
When you are done, you can send a message to,
or post a bugzilla bug with a merge request.
For more information about this, see:
Finally, here is some sample code written in the correct style:
Important comment blocks are written like this:
......@@ -35,8 +49,4 @@ foo (const char *bla, gpointer cow)
You may commit small, obvious fixes to this module. Anything larger
should be run by Colin Walters <>, unless you
know I've given you blanket commit permission.
arch-tag: How to hack Rhythmbox and submit patches
General Information
This is Rhythmbox version 0.5.0. Rhythmbox is your one-stop multimedia
This is Rhythmbox version 0.5. Rhythmbox is your one-stop multimedia
application, supporting a music library, multiple playlists,
internet radio, and more.
......@@ -15,7 +15,10 @@ Information about mailing lists can be found at:
Our IRC channel is #rhythmbox on GIMPnet (
Rhythmbox CVS is hosted at, rhythmbox module.
Rhythmbox is developed primarily using the arch revision control
system, specifically the "tla" implementation. To get a copy
of the latest development tree, see this web page:
......@@ -56,18 +59,9 @@ In the bug report please include:
* If the bug was a crash, the exact text that was printed out when the
crash occured, and a trace (which can be obtained by using gdb or bug-buddy).
Patches should also be submitted to If the patch fixes
an existing bug, add the patch as an attachment to that bug report.
Otherwise, enter a new bug report that describes the patch, and attach
the patch to that bug report.
Bug reports containing patches should include the PATCH keywoard in their
keyword field.
Patches should be in unified diff form. (The -u option to GNU diff.)
See the HACKING file.
arch-tag: The typical project user README doc
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment