CSS-based styling
Before IDA 7.3
IDA used to store colors in the registry:
HKEY_CURRENT_USER\Software\Hex-Rays\IDA
on Windows,~/.idapro/ida.reg
on Linux & Mac OSX.
This was somewhat inconvenient because color values were stored in binary format, and hard to move from computer to computer.
In addition, this only lets users style a small subset of the widgets that compose IDA, which can be insufficient.
IDA 7.3: CSS-based styling
Since we had to introduce yet another set of new colors in 7.3, we took the opportunity to moved away from the registry-stored, binary-only approach, to a CSS-based approach.
This gives us the following advantages:
CSS is a well-known format
CSS is human-readable
Qt understands CSS out-of-the-box (parts of it, at least)
Using CSS will therefore let us style not only the custom IDA widgets, but all widgets
This last point is important, because many users have been asking for the ability to style IDA more thoroughly, rather than just styling a few custom widgets (such as the disassembly views, navigation band, …)
How IDA 7.3 CSS-based styling works
IDA 7.3 ships with 2 themes by default:
default
dark
Those themes are located in $IDA_INSTALL/themes/
: