Hacking on EasyTAG
==================

Contributing
------------

If you have a suggestion or found a bug, please either file a bug:

https://bugzilla.gnome.org/enter_bug.cgi?product=easytag

or bring it up on the mailing list:

easytag-list@gnome.org

Patches are best filed on Bugzilla, but a pull request is also fine. For
patches, please:

* keep the first line of the commit messages at 50 characters or less
* do not add a prefix to the commit message, for example "build:"
* provide patches created with "git format-patch"
* add a link to the bug report or mailing list archives where the patch was
  discussed, for example "bug 987654" for GNOME Bugzilla or a URL for other
  services

Coding Style
------------

The original EasyTAG coding style was close to K&R style, with four-space
indents. This has been changed slightly to the following guidelines:

* BSD/Allman brace style
* C89 comments
* one space before opening bracket, none after opening or closing
* four space indent
* try to keep to 80 character lines
* space after ',', spaces around logical operators
* function return values on a line separate from the function name

New code should follow this style.

GtkBuilder UI descriptions
--------------------------

GtkBuilder files are used for describing the EasyTAG UI. The UI files are in
the data directory, and named *.ui. The files are not created with Glade, and
Glade should not be used to edit them, as it will unnecessarily rearrange
content within the file, leading to commit diffs which are difficult to read.
The files are not installed, but instead compiled into a resource bundle and
built into the application binary.
