Inverting Screen Colours for Late-Night Hacking

I've recently found it really hurts my eyes when working late at night going from a terminal (which is black background and light text) to a browser window like google.com with a large expanse of white.

To help with this I've been looking for ways to reduce the screen brightness.

The solution I've come up with on Ubuntu is to use Compiz to invert the screen colours. If you open CompizConfig Settings Manager and look for Negative under Accessibility all you need to do is make sure it's enabled and set a keystroke to toggle the inversion. By default it inverts everything within the window. However when you have terminals set to dark backgrounds like I do you don't want those to be inverted and become glaring white backgrounds with dark text. Fortunately Compiz provides a feature to exclude certain windows.

Here's an example for the "Exclude Windows" field to exclude the Desktop (a default), Guake and Gnome-terminal from being inverted.

(type=Desktop) | class=Guake.py | class=Gnome-terminal

If you use a mac you should be able to achieve the raw inversion with "Control Option Command 8"

Great. Now all I need is a silencer for my clacky keyboard!