|This page is probably outdated|
The information on this page might not be valid for the current state of ReactOS.
Windows has several theming options. Changing shell icons through the registry, setting wallpaper, UI colors and sizing metrics, and (since XP) UI skinning. ReactOS can simply adopt these options directly, however there is one thing Windows does not do. And that is complete icon substitution, for all internal applications and libraries. The only option is to use applications like Resource Hacker to modify the .exe and .dll files respectively, with changed icons.
A suggestion is, to design our own icon theming format. The simplest, easiest and most intuitive solution, is to simply provide .icl (Icon Library, a DLL file without any callable functions) files for every .exe and .dll file provided by ReactOS. The theme directory is set in the registry, and all internal applications and libraries will look at this directory, see if their respective .icl file is present, and if it is, use its icons, instead of the internal ones embedded in their own resource tree. If an icon is not present in the .icl, the application/library will also fall back to the respective internal icon. This should probably be easy to implement, as shared code included in every application code.
From a themer's point of view, this is also easy, as locating an icon is simply a case of pinpointing which file contains the icon in question, compiling an icl file, and placing it into the theme directory. Some simple documentation on which icons are generally found where (start button icon -> user32.dll, my computer icon -> shell32.dll, etc) should be included as a guide to get themers started.
(REQ: coders' point of view on this suggestion)
Moved replies to initial article to talk page
Back to mf's UIdeas