@lemonboy: You don't HAVE to do a pull req - posting a patch is fine as well - we take code anyway you want to, the pull req is simply the preferred option. The next preferred option would be a git format-patch HEAD~1 (assuming 1 commit).
The advantage with a pull req however is huge once you've done it a couple times
To create a pull req for any project on github:
1. Fork the repo on github.
2. Add your repo as a remote to your existing clone of xbmc/xbmc, or just clone from your repo.
git remote add lemonboy <read_write_url_to_your_repo>
3. Fetch branches from your repo:
git fetch lemonboy
4. Create a branch off xbmc master:
git branch diffusecolor_everywhere origin/master
git checkout diffusecolor_everywhere
5. Commit your changes.
git add <foo>
git commit -m "awesome commit msg"
6. Push your branch to your repo
git push lemonboy diffuse_coloreverywhere
7. On github, send a pull req.
The advantage here is that as and when any changes are requested, you can just do them in your diffuse_coloreverywhere branch and push them to your repo. The pull request is then automatically updated.
Cheers,
Jonathan