Realising what I've got myself in for, I'd thought I'd inspire myself with a couple of quick wins...
Firstly I got my ATI graphics card configured so I could start using it for some cool graphics.
I then created an account called 'wmtest' for use of testing my wm (genuis naming convention I know!) and configured it to load (i) xcompmgr, (ii) a program which will eventually become my Window Manager, and (iii) an xterm console which X will wait for until it shuts down.
For now, I decided my WM should be C based & use Cairo for my graphics. I drew a gradient-panel-window, stretched across the top of the screen. This will eventually become my status bar for my manager.
150 lines later and when I logon as wmtest, I get a rather groovy page like this:
Another quick-win would be to use transset to make the windows slightly opaque and feh to set a background image.
$ transset 0.5
Then I clicked my the panel.
$ transset 0.2
Then I clicked on the terminal.
$ feh --bg-center /path/to/wallpapers/arch-elegant.png
Not bad for 150 lines of code! The transset steps will be replaced by xlib code which sets the _NET_WM_WINDOW_OPACIT Atom.
Now I've done that, it doesn't feel like such a big mountain anymore.. I'm ready for some more coding I think! :D
I've also created a photo gallery to showcase my development at various stages. It can be found here.
Also... I need a really awesome name for my wm.. I'm open to suggestions (and yes I know awesome is already taken!!!)