Newer
Older
Bug tracking system
===================
Thunar uses the Xfce bug tracking system at http://bugzilla.xfce.org/,
hosted and maintained by the Xfce project.
Patches
=======
Please submit patches to the Xfce bug tracking system or to the thunar-dev
mailinglist. Your patch should be in unified diff format (the -u option
to GNU diff) and it must comply with the coding style described below.
Please send a patch against a recent version of this package. Patches
against the Subversion trunk branch are most preferable. You can always
access the trunk branch from
http://svn.xfce.org/svn/xfce/thunar/trunk
or using an installed Subversion client
svn co http://svn.xfce.org/svn/xfce/thunar/trunk thunar
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Feature requests
================
Please file feature requests to the Xfce bug tracking system
(http://buzilla.xfce.org, product Thunar) with a Severity of
enhancement. Make sure that your feature request wasn't reported
already before; requesting a feature several times won't increase
the changed that it gets added!
Coding Style
============
- GNU coding conventions, with GLib-like extensions, mostly the same
as GTK+.
- Always expand tabs. This differs from the GNU suggestion, but it is
necessary to be independent from a given tab setting.
- Do NOT ever misuse debugging macros like g_return_val_if_fail() or
g_return_if_fail() to control program flow. They are solely useful
to discover bugs, the final binary won't include code for these
statements, and so any use of these macros to control program
flow presents a bug!
- Do NOT follow the philosophy "If it works, it's right" that most
other open source projects follow, instead Thunar's philosophy is
"It doesn't work unless it's right". Think carefully of what you want
to do, don't just fire up your favourite editor and start hacking
in the hope that it will evolve into something useful one day.
- Maintainability goes over performance. If you have to choose between
a maintainable and a fast solution, always prefer the former, as it's
quite easy to optimize well-designed modules, but very hard and costly
to make spaghetti-code readable.
- Write ChangeLog entries. Whenever you commit a change or send a patch,
write a good entry per change to the ChangeLog file, see the libexo
ChangeLog for the exact format; it's very important to be descriptive
and correct here, else you'll loose your commit bits or your patches
won't be considered for inclusion.
- Use GObject whenever possible. Object-oriented design and programming
makes it easier to separate functionality and also aids in verification
and testing, and GObject provides a very solid base.
Release process
===============
Yet to be defined!