Creating custom themes
Audacity supports themes via files called ImageCache.png which can be shared and installed by users.
Creating a custom theme from source
Audacity stores the source files for the built-in themes in libraries/lib-theme-resources/ as a group of individual files.
To create a custom theme out of this, use the following steps:
Set up a build environment
get a copy of the audacity source and set up a build environment. Details can be found in BUILDING.md.
Set up a new theme
Copy an existing theme folder in lib-theme-resources to create a base for your own theme and rename it with your theme name (for this example,
Yourtheme).Replace all relevant files with your own themed versions. Some files found in the sources are no longer (or not yet) used in current versions of Audacity. Note: Make sure to use an editor that's capable of handling transparencies - MSPaint will not work. Additionally, make sure to not resize any images.
Create a copy of ClassicThemeAsCeeCode.cpp and edit it:
static const std::vector<unsigned char> ImageCacheAsData {
// Include the generated file full of numbers
#include "YourthemeThemeAsCeeCode.h"
};
static ThemeBase::RegisteredTheme theme{
/* i18n-hint: the name of a theme */
{ "Yourtheme", XO("Your theme") }, PreferredSystemAppearance::Light, ImageCacheAsData
//PreferredSystemAppearance can be Light, Dark, and HighContrastDark.
//It gives a hint to the OS what kind of theme you'd prefer for the
//system-native buttons, but usually is ignored.
};Open lib-theme-resources' CMakeLists.txt file and add your theme like the others:
In
libraries/lib-theme/Theme.cpp's functionGUITheme(), add your theme to the list:
Enable experimental theming options
In src/Experimental.cmake, uncomment the THEME_PREFS flag (remove the
#beforeTHEME_PREFS):
Compile and run Audacity.
Export the ImageCache.png
Open the preferences.
Press OK and restart Audacity.
You'll see an experimental option called Theme:
From here, you can do various things. Most importantly, "Save Theme Cache" creates the ImageCache.png you can share with other people. It will be stored in the Theme folder of the Audacity settings (ie %appdata%\Audacity if on Windows).
Updating a custom theme
To update an existing theme to work with a new version, you'll need to pull the latest master from the audacity/audacity repo.
Once you have updated your fork, simply build Audacity again and export the ImageCache.png again (steps 8-11).
Updating Audacity from git
In your Github fork, there usually is a button for this:

Alternatively, you can use git for this. Depending on your setup, it is likely to be one of the following
Editing the ImageCache.png directly
If you want to avoid the dance described above, you can also edit the ImageCache.png directly. A copy for the version found in 3.6.x can be found below.

Additionally, an accompanying HTML explains what each button is called. Simply download both the PNG and HTML into the same folder, open the HTML in a browser and mouseover a button or color to get its name.
But again, the version of the ImageCache above will likely only work for one version of Audacity.
For users
Our help pages contain info on how to use custom themes as a user.
Last updated