This is an old revision of the document!
Bug Reporting and Fixing
One of the most useful tasks that we rely on the community for is testing and reporting of bugs. Since Xfce runs on various platform and in a lot of different setups, testing all changes in every possible situation is an impossible task. As such we kindly ask users to assist in testing, and reporting all bugs they may find, using our bug tracker.
We always try to make the software as stable as possible, but there is always a possibility a crash or segfault can occur. To problem with crashes is that they are not always reproducible by the developers, this makes it quite often hard to track-down the problem and patch the issue.
Nonetheless there are a couple of things you can do to help resolving them:
Search the bug tracker and look if the issue is already known. Also look through the resolved bugs because the issue might be fixed already, but has not been released or applied downstream. Peeking the GIT repository might help for the latter.
If you have not found anything or missed it, report it in the bug tracker. Reports that only say 'application X crashed' will be closed as invalid quickly, so try to provide a way to describe and reproduce the problem: Application X crashed when doing Y.
In the description provide a short way to reproduce the crash. Also run the application in a terminal and look if there are console warnings, put those in the bug as well.
If the developer cannot reproduce it, he might ask for a backtrace, read more about creating backtraces in the next section.
If you do get an Xfce application to crash, it's best to detail exactly what you were doing that led to the crash. In addition, we need the backtrace of the crash. However most distributions by default make backtrace output useless because there binaries are optimized and do not contain human-readable information to make a relation between the compiled code and the source code (like file, function and variable-names).
The sites below provide guidance from the respective distributions how to remedy this situation so you can provide all the info we need to fix your issue.
In case of panel plugins there is some additional information on how to start a panel plugin inside a debugger.
Once a bug has been found, the cause of the bug needs to be tracked down, and then (obviously) fixed. If you want to get involved in the actual development process of Xfce a great way to start is by solving bugs and attaching a patch file to the reported bug. ( “git format-patch” is the preferred way to create a patch file )
Not familiar with git? This manual will help you to get started.
After you managed to download the source code, check this manual to see how to build a package from it.
Although the philosophy of Xfce is to find the correct balance between features and lightweight, it is still possible to request new features.
The right approach for larger changes is to discuss them on the mailing list, or on #xfce-dev (on freenode) first. You might think your idea is brilliant, but there is a high possibility that there are major downsides.
Afterwards a bug can be opened in the bug tracker. Make sure the Importance is set to normal and enhancement.
Obviously it would benice if you could write a patch that implements the new feature.