As REAPER has grown, its theming capabilities have grown with it. Broadly speaking it has maintained compatibility with themes made all the way back near the beginning. Old themes still work, and new themes still use the same theming facilities that old themes relied on. Additional layers of increasingly powerful theming functionality have been added onto the top as time has gone by, each relying on the existence of (and your understanding of) the preceding functionality.

Layer 1 : ReaperTheme

REAPER's initial theming was based on themable code colours, font assignments and tweakable elements. These are still in use, and their settings are saved in a theme's .ReaperTheme file. The initial theming also used .ico images, thankfully we effectively don't need to worry about them any more.

Layer 2 : Advanced Theming

In 2007 REAPER added 'Advanced Theming'. This gave support for .png images and additional tweakable elements that had their values stored in an 'rtconfig.txt' file. All of these are still in use.

With the addition of WALTER (Window Arrangement Logic Template Engine for REAPER), some of the themable elements can be resized, repositioned, recoloured and some of the dynamic logic controlling their appearance can be scripted. User selectable layouts are scriptable. WALTER is also within a theme's 'rtconfig.txt' file.