NegativeScreen

Version Française ici


NegativeScreen is a Windows application allowing you to invert your screen colors.
Apart 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 transformation (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.

 

Latest 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 (click to unfold)

Version 2.5, 2017-05-28
------------------------
- [fixed] when an instance is already running, enable its color effect instead of showing an unhelpful message about it
- [fixed] no longer crash when trying to set a color effect while the Windows Magnifier color inversion is enabled
- [added] a basic web api is now part of NegativeScreen! See the readme for more information
- [added] new EnableApi configuration option, defaults to false
- [added] new ApiListeningUri configuration option, defaults to listening on port 8990, localhost only
- [added] new About window, available from the systray menu
- [added] add a retro-compatible user-specific fallback location for the configuration file:
		- if the file "%AppData%/NegativeScreen/negativescreen.conf" exists, it will be used in priority.
		- if the "negativescreen.conf" file beside the executable cannot be modified,
			trying to edit the current configuration will result in a configuration in AppData being created.

Version 2.4, 2014-11-30
------------------------
- [fixed] force the working directory to be the one of the executable (so the .conf file is found when starting from the cli)

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.14, 2014-11-30
------------------------
- [fixed] force the working directory to be the one of the executable (so the .conf file is found when starting from the cli)

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 Keith
    about 6 days ago

    NegativeScreen has been extremely valuable to me. I use it everyday. Thanks!

    One thing I;d like to do, but haven’t been able to figure it out, is transform everything to inverted black and white. Like Windows High Contrast mode but without dropping out of Aero mode.

    Another thing I’d like is to have a transform to change one color to black. I have some apps that use gray 0xABABAB as the background. I can’t see black or white text on the gray background. If I could change 0xABABAB to 0x000000 or 0xFFFFFF it would really help. Is that possible?

    being legally blind kinda sucks, but NegativeScreen helps me stay productive!

    Keith

    • #2 written by Melvyn
      about 15 hours ago

      You can try this matrix (add it to the configuration file) to transform to inverted black and white:

      Inverted Binary=
      { -127, -127, -127, 0, 0 }
      { -127, -127, -127, 0, 0 }
      { -127, -127, -127, 0, 0 }
      { 0, 0, 0, 1, 0 }
      { 181, 181, 181, 0, 1 }

      But you might be disappointed in the results…
      The high contrast mode has been specially engineered for this purpose, and it’s likely impossible to do it well with a global transformation.

      Regarding the single color transformation, it’s not possible. NegativeScreen uses global transformation matrices, and you can’t just pick a color and change it without affecting other colors.

      That said, it shoud be possible to increase contrast with a transformation matrix. I will look into it.

  • #3 written by Craig
    about 1 week ago

    I’m not sure if this was answered… would it be possible to have NegativeScreen watch for CTRL+WIN+LEFT/RIGHT keystrokes, and turn on/off NegativeScreen based on which desktop I’m viewing? [This is not multi-monitor, but rather multi-desktop].

    [I could perhaps see this being confused by using WIN+TAB and selecting a different desktop, but maybe there must be a system value thats exposed somewhere]

    If this would work, this would give me a way to use NegativeScreen with specific programs [Chrome doesn’t need it, but Evernote does need it… just full-screen them on different desktops]

    • #4 written by Craig
      about 1 week ago

      Don’t worry about this, unless you want to pursue it. I’m finding that ClearType is preventing this from working for me, unless I go greyscale inversion [Even though I love the smart inversion generally]

      • #5 written by Melvyn
        about 1 week ago

        That’s an interesting request.

        I’m not sure a lot of people actually use the multi desktop capabilities of Windows 10, but it could make sense… Thanks for suggesting it, I’ll keep it in the back of my head, even if it does not work for you like you said.

  • #6 written by Pol
    about 1 month ago

    I love it, but it’s not working on chrome when it’s on fullscreen mode. I stays for some seconds and then stops working.

    • #7 written by Melvyn
      about 1 month ago

      Maybe try to disabling hardware acceleration on Chrome… (not ideal, I know)

    • #8 written by John
      about 1 day ago

      I too am having trouble using negative screen and Chrome. I’m using windows 10, never had this problem in 7.

      Chrome will jump back and forth between inverted and not randomly, It makes chrome unusable for me. I tried disabling hardware acceleration and it made no difference. Has a fix been identified for this?

      • #9 written by Melvyn
        about 15 hours ago

        No fix for chrome as of now, aside from disabling hardware acceleration… sorry.

  • #10 written by RotS
    about 2 months ago

    I would like to make a suggestion to this very useful application. It’s about being able to set an automated toggle. If the app detects that the screen is darker than average, it should toggle off the Negative Screen because it is not needed anymore. On the contrary, if it detects that the screen is lighter than average, it toggles back the Negative Screen. This would be useful when often switching between dark and light screens.

  • #11 written by Max
    about 2 months ago

    Hi there 🙂 I realy tried to get into color matrices, but i cant seem to get my wanted result.

    I have a Music-Program called “Bitwig” and i want to replace darkgrey (0,62, 0,62, 0,62) and light grey(0,85, 0,85, 0,85) with pitch black, but leave all other colors (blue,orange,purple,etc.) untoched. Is that possible?

    and If so how can i calculate the correct matrix? 🙂 I also worked with “ColorMatrixViewer” but cant seem to get the right paramters.

    Anybody? :):):):) Thank you 🙂

  • #12 written by Boris
    about 2 months ago

    First off, this has been one of my most important apps on Windows for probably 5 years now, thank you!! I have it on over 90% of the time I’m on my computer.

    I just had to switch to Windows 10 at work, and now am having issues with NegativeScreen.
    For example, Chrome keeps switching between inverted and not, depending whether my mouse is over a link (it inverts the Chrome window if my cursor is over a hyperlink on the page, then when I move it away from the link, the inversion get disabled (just in the Chrome window) after a few seconds)

    Similar behavior with Atom IDE. If I switch focus to a different window, Atom window is no longer inverted.

    • #13 written by Melvyn
      about 2 months ago

      Unfortunately this is a problem that has been reported a number of times already, but I can’t do anything about it since I’m only calling a Windows api without much control over it.

      A workaround that seems to work is to disable hardware acceleration in chrome. Hardly an ideal solution, I know…

      • #14 written by Boris
        about 2 months ago

        Thanks a lot for the quick reply, Melvyn!

        Yeah, it seems like using Magnifier directly has the exact same problem.

        How do you solve this problem for yourself? By not using Windows 10? 😀

        This is so important to me, that I will probably start looking into coding on top of a graphics driver, or maybe hacking the monitor firmware, unless someone has already done something similar… Will definitely use your smart inversion matrix (alt 2) in that case, which has been working so well for me!

  • #15 written by kyle
    about 3 months ago

    hi how can i use it on linux and if i cant what can i use for grayscale.

    • #16 written by Melvyn
      about 3 months ago

      NegativeScreen only works on Windows and I don’t know the alternatives for linux, sorry.

  • #17 written by Eduardo
    about 3 months ago

    Hi,

    Have you tried to use NegativeScreen in fullscreen mode? I find a bug there. Every time that I change to fullcreen mode after a few seconds that application stops inverting the color.

    Anyone else facing the same issue?

  • #18 written by Ai_Leen
    about 4 months ago

    Thank you!

  • #19 written by dragonvale19
    about 5 months ago

    what is a configuration file… what is it… please tell me

    • #20 written by dragonvale19
      about 5 months ago

      sorry, u discovered the stupid magic that if you rightclick the app when its open in the lower right list of apps in the taskbar, you can, using magic, magically go straight to the configuration settings

    • #21 written by dragonvale19
      about 5 months ago

      now that im all done, i just want to say; thank you for making this. it was very accessible even to a young teen like me, and now i have a bunch of cool effects available on my computer! yaaayyyy…. i even added sepia and hueshifting!

    • #22 written by dragonvale19
      about 5 months ago

      yay for continued replies to my own comments…

      i know that this wasnt originally a setting you implemented, but i think it should still be noted that when hueshifting the image on your screen, it the colorslose contrast from one another slightly.

    • #23 written by dragonvale19
      about 5 months ago

      you can delete these comments if you want…. but seriously. when using smart inversion (the high saturation version), along with hueshift, colors lose contrast from one another to a small degree and i feel like this can be fixed

      • #24 written by Melvyn
        about 5 months ago

        I know the colors are not exactly the same. That’s why there are more than one smart mode: because it’s not perfect. Also, no this can’t be fixed (but you are free to try).
        Now please stop spamming 🙂

        • #25 written by dragonvale19
          about 5 months ago

          please just delete my comments or tell me how… i dont want to spam but i dont know what else to do… i am learning a lot about color matrices from this program and i thank you very much for making it though…. thanks for the reply! hopefully i wont have anything else to comment about

  • #26 written by hope
    about 5 months ago

    The first execution, change colors
    The second execution,appear message

    can or not
    change The second execution
    when execution
    change the color, do not appear message.

    • #27 written by hope
      about 5 months ago

      My mean is
      The first execution, change colors (State one to State two;have change)
      The second execution, change colors(State two to State one;no change)
      The third execution, change colors (State one to State two;have change)

    • #28 written by Melvyn
      about 5 months ago

      Hi, I’m having a hard time understanding what you are trying to say.

      Basically, you see a message when starting the application again after it’s already running, is that it?

      This should be fixed with the latest update (from just before june). If you are still seeing a message with the current version, I’m going to need more information…

  • #29 written by User
    about 5 months ago

    How does one edit the Win+Alt+N hotkey to disable/enable NegativeScreen? Just upgraded to Office365 and OneNote uses the same hotkey and overrides its application to NegativeScreen. If anyone knows how to edit the OneNote hotkey, I don’t mind doing that instead.

    • #30 written by Melvyn
      about 5 months ago

      You can do that by editing the configuration file. See the readme…

      I don’t think you can edit OneNote’s hotkeys.

      Thanks for letting me know about this hotkey conflict btw. This is unfortunate…

      • #31 written by John
        about 1 month ago

        Firstly, thank you. I’ve used this for years on Windows 7. Now I’m on 10 and I cannot locate the configuration file to save my life. Where is it? All I see is; changelog, license, negative screen, and readme.

        This hotkey conflict withy Onenote is driving me insane and I can’t find a work around. Please help!

        • #32 written by Melvyn
          about 1 month ago

          It’s supposed to be next to the executable, but if it does not exist, you can create it from the default configuration by using the “Edit Configuration” menu. (Right click on the NegativeScreen icon in the systray)

          • #33 written by John
            about 1 day ago

            Thank you, Melvyn. You’re an internet hero!

  • #34 written by Fabio
    about 6 months ago

    Hi, thank you for your work!
    I have a question: is it possible to invert the colors of a specific monitor? In the version 1.3 there was a multi-screen feature.

  • #36 written by Piotr
    about 7 months ago

    I disabled blue channel. Now it’s yellow! Yay!

1 4 5 6