As I've been slowly replacing the GUI code for Sigma, I also have been implementing a multi-theme switching functionality to D2's GUI code. In other words, once all the GUI code has been replaced, the user will be able to select his preferred GUI theme. But of course making all the images for this is quite a big task, and therefore Sigma itself will only feature one theme (codename classic_sigma). Why implementing a theming functionality then? Because I hope to have players submitting themes once the mod is released, that's why. The system as it is allows anyone to easily "inject" his own theme into the game.
This is how it works: All of your GUI theme files are packed into an individual MPQ. Then you add your theme name into a list that comes with the mod (themes.txt). Then all you have to do is fire up the game, open up the configuration screen and select your theme. This is slightly more complicated than that (the MPQ needs to have a specific packing structure for example), but I won't be providing all the details for now, a tutorial will come for custom theme implementation when the mod actually gets released...
Additionally it is to note your theme doesn't need to replace every single GUI images, like a total conversion theme. It can be a theme that brings a little improvement to one specific GUI page.