My favorite is probably FVWM2.  I know that's not a popular choice.  I 
have my reasons:
   1. Everything can be scripted - down to mouse clicks
    2. You can interface it with Perl and GTK
    3. Can be made to look and act like almost anything

nuff said