White on black without inverting colors?
Create a Custom ICC Profile
Theoretically this is possible by creating a custom ICC profile for your monitor. However, creating an ICC profile is not trivial.
You can see this ability by looking at some of the specialised profiles in /Library/ColorSync/Profiles/
. The Gray Tone profile for example compresses all the colours into a single black to white strip.
The Lightness Increase profile's 3D representation demonstrates how any colour can be mapped to any other colour.
There are a number of problems to this approach. Mac OS X's text is anti-aliased. Inverting just black with white will likely result in outlined text; the gray pixels surrounding each letter will not be inverted.
An Alterative Approach: Editing System.clr
An alternative approach is to alter the colours returned by Apple's NSColor class. This class provides the colours and patterns used across Mac OS X. The file that stores the Developer colours is located at /System/Library/Colors/System.clr
.
Looking at Apple's Color Programming Topics guide, I suspect a developer may be able to load the file into a NSColorList instance, alter the colour, and write back the file.
This goes against Apple's advice not to alter files in /System
, but it is probably your best solution. The modification task requires someone with Objective-C knowledge and available consulting time.
You could turn on both color inverting and grayscale mode in Accessibility preferences - that would give you white-on-black without weird inverted colors, but everything would be grayscale.