I think you need to narrow the scope of your question. What exactly are you trying to do, create a desktop environment from scratch? Or just write an app to integrate with gnome?
Also, unless this is just an exercise, you should think about duplication of effort. There are already many good window managers/desktop environments. Why not join an existing effort....
In any event, to properly answer your question you first need to decide on a gui library to build your project on...ie: will you use GTK or QT? Something else entirely? What language do you intend to use?
|