May 22, 2009

Making my own Desktop Manager: A Little Motivation

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!!!)


Click Here!