https://zerowidthjoiner.net/negativescreen
NegativeScreen's main goal is to support your poor tearful eyes when enjoying the bright white interweb in a dark room. This task is joyfully achieved by inverting the colors of your screen.
Unlike the Windows Magnifier, which is also capable of such color inversion, NegativeScreen was specifically designed to be easy and convenient to use.
It comes with a minimal graphic interface in the form of a system tray icon with a context menu, but don't worry, this only makes it easier to use!
Invert screen's colors.
Additionally, many color effects can be applied. For example, different inversion modes, including "smart" modes, swapping blacks and whites while keeping colors (about) the sames.
You can now configure the color effects manually via a configuration file. You can also configure the hot keys for every actions, using the same configuration file.
A basic web api is part of NegativeScreen >= 2.5. It is disabled by default. When enabled, it listens by default on port 8990, localhost only. See the configuration file to enable the api or change the listening uri...
All commands must be sent with the POST http method. The following commands are implemented:
Any request sent with a method other than POST will not be interpreted, and a response containing the application version will be sent.
NegativeScreen < 2.0 needs at least Windows Vista to run.
Versions 2.0+ need at least Windows 7.
Both run on Windows 8 or superior.
Graphic acceleration (Aero) must be enabled.
.NET 4.5 is required. (Should be available out of the box on up-to-date Windows installations)
A customizable configuration file is created the first time you use "Edit Configuration" from the context menu.
The default location for this file is next to NegativeScreen.exe, and is called "negativescreen.conf"
If the default location is inaccessible, NegativeScreen will try to create the configuration file in %AppData%/NegativeScreen/negativescreen.conf
This feature allows to deploy NegativeScreen.exe in a read-only location for unprivileged users. Each user can then have its own configuration file.
The order of priority for trying to read a configuration file when starting NegativeScreen is as follows:
Should something go wrong (syntax error, bad hot key...), you can simply delete the configuration file, the internal default configuration will be used.
If the configuration file is missing, you can use the "Edit Configuration" menu to regenerate the default one.
Syntax: see in the configuration file...
Many thanks to Tom MacLeod who gave me the idea for the "smart" inversion mode :)
Enjoy!