New Developers Guide
Welcome to the Beryl new developers guide, here you will find the basic requirements you will need to begin working on Beryl. This guide is still a work in progress and will be updated as new material becomes available. However there are some basic skills that will be assumed from this point forward. First you will need to be relatively competent dealing with C programming, and for those looking to work on plugins, a solid foundation of OpenGL is at the very least useful.
Starting Grounds:
While what you work on with regards to the Beryl code is up to you (this does not, of course, promise inclusion in trunk) it is often useful to gain a bit of perspective of what you want to work on within Beryl. We often find ourseves with people who want to help and do not know what they want to do. Most developers for the project started out as bug fixers. Fixing simpler bugs and working your way up the chain to more and more complex ones is one of the most effective and helpful ways to learn the Beryl codebase. Bugs are listed on the bug tracker, simply pick out a couple that interest you. Before you dig in there is some information you should be aware of.
Beryl Material:
The very first thing to get is of course the source code. Beryl's source is available through the SVN server. Checkout command:
Once you have the source feel free to browse through it. There is also an example plugin which has been fairly well commented. This plugin is provided as example material, it is in reality a stripped down version of the bench plugin with extra comments added to make understanding it easier.
Coding Style:
- We use tabs instead of spaces, no space tabs.
- Tabs are 4-wide \t characters
- Clear code is a must, comment what is potentially confusing, and mark any potential FIXME's.
- When possible, enums are preferred to #DEFINE lists, this is more maintainable in the long run.
- Mark any function 'static' you don't need to export from a plugin, otherwise dlopen() can become a pain.
