MacOS – White on black without inverting colors

macos

When using Mac OS X, is there a way to have white text on black background without inverting the other colors?

Best Answer

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. Gray Tone ICC profile

The Lightness Increase profile's 3D representation demonstrates how any colour can be mapped to any other colour. Lightness Increase ICC profile

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.