to change the desktop wall paper all you need is a separate program, i use my picture viewer as it can also change the wall paper background,
but as far as programing in linux, umm, its console based?, you don't have to worry about what compiler your using (well, also as gcc is really one of the only good compilers around, and free), plus, you can tweak all day and all night till you get it the way you like,,
plus its a rock solid kernel (umm, maybe i should be saying more diamond solid?

), ,, and sense you can get the source codes to things usually rather easily, a programer can just go look at the source code for a library and see what it can do, and nothing can hide.... (unless you forget what directory you put something in!),, in windows you have to trust that the Manuel's actually tell you everything (and the truth).... plus you can also look at the source and see how things are done, so you don't have to spend all year thinking about how something should be done or could be done