I'm an Arch Linux user and as such I've tried almost all of the DEs and WMs available and none really satisfy me. None really click for me.
So I decided to write my own, since I think that's the most sensible solution to this.
Looking at the languages that I'm comfortable with it's really only Clojure so I decided to write it in that. I'd like to make it a stacking WM, like Openbox but in a severely different direction for the UI.
What do I need to know in order to be able to achieve this? I'm practically a newbie to Java but I'm comfortable reading Clojure and writing it. What do I need to understand to be able to make a X.Org interface written in Clojure (i.e. Java)? Planning on doing it with XCB.
I'd like to know specifically how to communicate with the X.Org server in order to be able to manage the windows like any other stacking WM.
Would it be easier to just write it in C/C++? If writing a Clojure/Java version will just be a PITA compared to that I think I'm willing to learn.