NegativeScreen

Version Française ici


NegativeScreen is a Windows application allowing you to invert your screen colors.
Appart from accessibility matters, this software is especially useful when you are surfing on the internet in a dark room, and the screen is dazzling you.

NegativeScreen was designed to work without impacting the performances and fluidity of your computer.
Unlike the Windows Magnifier, which is also capable of such color inversion, it was specifically designed to be easy and convenient to use.

Different inversion modes are provided, including “smart” modes, allowing blacks and whites inversion, while keeping colors (about) the sames.

Normal

Simple Inversion

Smart Inversion


 

Usage

 

The color inversion takes effect immediately after starting the program.

NegativeScreen comes with a minimal graphic interface in the form of a system tray icon with a context menu.
You can toggle the inversion by clicking the tray icon, and access more features by right clicking it.

Along with these commands, you can also control NegativeScreen only by using hot keys. Read on…

 

Default hot keys

- Win+Alt+H: Halt immediately the program
- Win+Alt+N: switch between normal mode and colors inversion mode (Night vision :))

- Win+Alt+F1-to-F11: change inversion mode:

- F1: standard inversion
- F2: smart inversion 1 – theoretical optimal transfomation (but ugly desaturated pure colors)
- F3: smart inversion 2 – high saturation, good pure colors
- F4: smart inversion 3 – overall desaturated, yellows and blues plain bad, actually relaxing and very usable
- F5: smart inversion 4 – high saturation, yellows and blues plain bad, actually quite readable
- F6: smart inversion 5 – not so readable, good colors. (CMY colors a bit desaturated, still more saturated than normal)
- F7: negative sepia
- F8: negative gray scale
- F9: negative red
- F10: red
- F11: grayscale

Keep in mind you can always change these defaults by editing the configuration file.

 

Configuration

The version 2.0 (and 1.13) introduces a configuration file allowing to tweak almost everything in NegativeScreen.

You can now choose your own hot keys if you don’t like the defaults, and you can even add you own color effects!
This requires some knowledge in color matrices though.
I may add an easy way to build some in a future version…

If the configuration file (negativescreen.conf) is missing, you can use the “Edit Configuration” menu to regenerate the default one.

Should something go wrong after edition (bad hot key…), you can simply delete the configuration file, the internal default configuration will be used.

 

Windows XP Version

 

Unfortunately, the Windows Magnification API this application uses, is not available on Windows XP.
Therefore, I’m sorry to tell, there will be no XP compatible version of NegativeScreen.

 

Downloads

 

NegativeScreen is freely available, along with its source code, under GPL license.

 

- Last binary version (if you don’t know what to download, take this one)

- Legacy binary version (no GUI, but works under Windows Vista)

- C# sources

- ColorMatrix Viewer. Another program to easily view and edit color matrices…

 

► ChangeLog…

Version 2.3, 2014-03-28
------------------------
- [fixed] crash if more than one custom color effect is added without an associated hot key
- [added] (re)added the ShowAeroWarning configuration option from the version 1.*
- [added] check box next to the current color effect in the right click menu

Version 2.2, 2013-02-17
------------------------
- [fixed] avoid crash if a hot key cannot be registered
- [added] new ActiveOnStartup configuration option

Version 2.1, 2012-12-22
------------------------
- [fixed] crash on Windows 8 due to inter-threads calls
	(this was not a problem on Windows 7)
- [added] new MainLoopRefreshTime configuration option

Version 2.0, 2012-12-14
------------------------
Major update:
	- reworked entirely
	- better performances
	- smooth transitions
	- graphic interface (minimal)
	- configuration file:
		- fine grained configuration
		- custom hotkeys
		- custom color effects

Version 1.13, 2013-07-04
------------------------
- [added] implemented the configuration file for the version 1.*
- [added] configuration option to disable the message warning about aero being disabled

Version 1.12, 2012-12-14
------------------------
- [fixed] crash on Windows 8

Version 1.11, 2012-06-26
------------------------
- [added] new red and negative red filters bound on F9 and F10

Version 1.10, 2012-05-15
------------------------
- [fixed] infinite flickering on Vista (introduced in 1.8)

Version 1.9, 2012-04-16
------------------------
- [fixed] stupid bug if the Windows taskbar is vertical

Version 1.8, 2012-03-22
------------------------
- [fixed] execution is no longer prevented if aero is disabled (previous bug corrected)
		however, the performances will still be horrible

Version 1.7, 2012-03-21
------------------------
- [fixed] works as expected when using custom DPI settings

Version 1.6, 2012-02-27
------------------------
- [fixed] crash on X86 on launch
- [fixed] prevent execution if aero is disabled
		(prevent undesirable behaviours: black screens, 100% CPU usage...)

Version 1.5, 2012-02-16
------------------------
- [fixed] (internal) ColorMatrix implementation
- [added] new feature: choice between 9 inversion modes
		(smart mode, etc... see readme for details)

Version 1.4, 2012-02-09
------------------------
- [fixed] does not crash anymore on Windows Vista

Version 1.3, 2012-02-01
------------------------
- [fixed] multi-screen should finally work!
		after a lot of tests and coding, I re-thought completely the architecture
- [knownbug] in some screen configurations, if the primary screen if smaller than the other screen,
		the second larger screen has a black border at its bottom.
		It could be a bug in the Windows API...

Version 1.2, 2011-09-18
------------------------
- [fixed] multi-screen support (again) : bug with main screen on the right

Version 1.1, 2011-09-13
------------------------
- [fixed] multi-screen support
- [fixed] when halted while paused, the application never stopped

Version 1.0, 2011-09-06
------------------------
- Initial release


If you are interested in technical details, you can read the following post, recounting the development of this project (in French).

  • #1 written by David
    about 3 days ago

    This is a fantastic program! Is there a hotkey for choosing which monitor has the negative colors in the custom multimonitor version? If not, how could I add this? Thanks for all your hard work!

    • #2 written by Yaurthek
      about 3 days ago

      No, there is no hot key for that. Adding this would require some modifications of the source code.
      Since a lot of people want to be able to set different effects on different monitors, I might do some work again soon on the prototype to improve it…

      • #3 written by David
        about 3 days ago

        Would be amazing if you did. I cannot express how much I appreciate your work. Without it, I do not think I could function in both my job and everyday tasks. This absolutely makes a world of difference to individuals with visual impairments my like myself – a thousand times thank you! One other question. Is it possible to use a color matrix to change a single color on the screen? For example, to change all light blue fonts on a white background to just black text on a white background?

        • #4 written by Yaurthek
          about 3 days ago

          “Is it possible to use a color matrix to change a single color on the screen?”
          It’s not possible to change a specific color. The nearest thing would be to change a specific channel (Red, Green, Blue)…
          Maybe something like this?
          { 1.0, 0.0, 0.5, 0.0, 0.0 }
          { 0.0, 1.0, 0.5, 0.0, 0.0 }
          { 0.0, 0.0, 0.0, 0.0, 0.0 }
          { 0.0, 0.0, 0.0, 1.0, 0.0 }
          { 0.0, 0.0, 0.0, 0.0, 1.0 }

          You could give a try to my new tool to edit color matrices: http://arcanesanctum.net/colormatrix-viewer

  • #5 written by R
    about 4 days ago

    It doesn’t work in portrait mode. The top half of the screen is showing long vertical stretched pixels.

    • #6 written by Yaurthek
      about 4 days ago

      Are you using the last version? If so, it’s certainly not supposed to happen!
      The last version directly uses a Microsoft api, so if the problem is indeed a bug, I won’t be able to do anything beside reporting it :/

  • #7 written by Sativarg
    about 6 days ago

    Thank you Yaurthek

    I have two detached retina. My retina are not in contact with the back of my eye where the nutrients flow through capillaries. When a bright light is viewed the nutrients are quickly depleted in the neurons and it can take as long as 7 hours for them to replenish. The result is darkness and frustration. This program is very promising as a help for any one with this condition.

    I am so frustrated with applications that will not conform to the color settings of Windows 7. I have spent hours trying to find a good way to get Avast! free antivirus and other “rogue programs” to conform to my customized high contrast theme. When I solve one problem I seem to cause another elsewhere. I can get the entire desktop to invert only to have a blinding white menu. At least with NegativeScreen I should be able to use configuration modification to tone down elements that were so blinding with other methods I have tried.

    When I am over my current piercing head ache I will try to write a script to swap my non Arrow theme to an arrow theme, start NegativeScreen, set the configuration (Command-Line Options would be a help) and what ever else to make this a toggle I can hotkey quikley when ever I have to cope with a rogue program that refuses to conform to my theme requirements.

    I have to use magnifier to be able to read most text. But I can enjoy videos in normal colors. Every thing is wrinkly but most things are discernible. VolumeMouse is a nice application that lets me use my mouse to decrease screen brightness on the fly. I mention it here as some may find it of use if they have vision issues.
    Blessings and thanks again
    chuck

  • #8 written by Giulio
    about 2 weeks ago

    fantastic program, so much more relaxing to read in the night! I used the inverted GREEN you suggested above, but it is still too bright. I remember the old computer with monochromatic screen back in the eighties, the green was less sparkling, more saturated, would it be possible to derive the matrix for a darker green?
    thanks a lot!

  • #10 written by Kimball Robinson
    about 3 weeks ago

    Great tool! It would be awesome if there were a GUI tool to help pick our own matrices–e.g. to add color desaturation, reduce brightness for certain ranges of whites/colors, etc…

  • #12 written by Björn
    about 3 weeks ago

    Don’t forget to adjust your Cleartype settings after inverting the screen. If you do lots of programming with colourful editors you might be better off turning cleartype off completely.

    • #13 written by David Harkness
      about 1 week ago

      I just tried turning off ClearType, but it made all fonts very difficult to read: dialogs, web, and code. This may be due to my using very large fonts due to poor eyesight, though.

  • #14 written by kmcintyre
    about 4 weeks ago

    I really appreciate this application. Thanks!

    I replied to another thread somewhere, then I found a post referencing

    ShowAeroWarning

    So I tried setting it to false in my conf file. When I start NS I get an exception. Is that option no longer supported? It would be nice to squelch that warning when I start running in High Contrast Mode.

    Thanks!

    • #15 written by Yaurthek
      about 3 weeks ago

      This option is only available for the legacy version, which can run without aero enabled, unlike versions >=2.
      But you are right, you can start it without aero even if it doesn’t work, and this message is annoying. I will add the option to a new release so that you don’t have it in your situation.

      To answer your other comment: I had a hard time myself finding documentation about color matrices, and beside the link on MSDN, I didn’t find anything really good…
      I have been thinking about making a small utility to test new matrices for a long time now, and I might have time to implement it soon, so stay tuned! :)

      EDIT: Regarding documentation on color matrices, I had forgotten about this great page: http://www.graficaobscura.com/matrix/index.html

      EDIT 2: I finally released the tool I was talking about, to edit/view color matrices: Give it a try!

      • #16 written by kmcintyre
        about 3 weeks ago

        Thanks for considering both items!

        I’ve been using NS for about a week now and it has become ingrained in my muscle memory. Much better than the simple invert colors provided by Magnifier. Plus Magnifier doesn’t support a hotkey to turn invert colors on/off. Now I have independent control over color shifts and magnification. Much better!

        You’re definitely paying it forward!

        Cheers!

        Keith

  • #17 written by Danny
    about 4 weeks ago

    This is a great utility. Love the smart inverse.
    Like a previous commenter, I would also love to be able to have something similar to the red inverse, only with a different shade.

    Another suggestion, it would be great if this tool also has magnification built in, so we can completely avoid the use of the magnifier, which has an annoying habit of getting in the way.

    • #18 written by Yaurthek
      about 4 weeks ago

      You can create other color transformations by editing the config file.
      here is an inverted blue:
      { 0.0, 0.0, -0.3, 0.0, 0.0 }
      { 0.0, 0.0, -0.6, 0.0, 0.0 }
      { 0.0, 0.0, -0.1, 0.0, 0.0 }
      { 0.0, 0.0, 0.0, 1.0, 0.0 }
      { 0.0, 0.0, 1.0, 0.0, 1.0 }
      and here is an inverted green:
      { 0.0, -0.3, 0.0, 0.0, 0.0 }
      { 0.0, -0.6, 0.0, 0.0, 0.0 }
      { 0.0, -0.1, 0.0, 0.0, 0.0 }
      { 0.0, 0.0, 0.0, 1.0, 0.0 }
      { 0.0, 1.0, 0.0, 0.0, 1.0 }

      As for the magnification, I don’t think I will implement it. It’s too far from the original goal of NegativeScreen and would not make much sense.
      Thanks for the suggestion though!

      • #19 written by Danny
        about 4 weeks ago

        Thanks – found that nice config file, going to play with it.
        Understood aboiut the magnification, makes sense to keep this task-specific.

    • #20 written by kmcintyre
      about 4 weeks ago

      Great utility! Thanks!

      So can I use the conf file to stop the dialog warning about Areo support from coming up? I swap between High Contrast mode and normal mode, and between NS and normal. If I first switch to NS when in High Contrast mode I get the dialog. (All seems to work ok after closing it…)

      Also, is there a tutorial (other than the supplied link) that describes using the matrix to modify transforms?

      Again, Thanks!!!

  • #21 written by Jay
    about 2 months ago

    Works great on my laptop! Running Windows Vista. Any idea of how I can change the negative red so that it’s the same, just blue?

    • #22 written by Yaurthek
      about 2 months ago

      Sure!
      use this matrix in the config file:
      { 0.0, 0.0, -0.3, 0.0, 0.0 }
      { 0.0, 0.0, -0.6, 0.0, 0.0 }
      { 0.0, 0.0, -0.1, 0.0, 0.0 }
      { 0.0, 0.0, 0.0, 1.0, 0.0 }
      { 0.0, 0.0, 1.0, 0.0, 1.0 }

  • #23 written by fake name
    about 2 months ago

    this is the best thing ever!