mlaily / NegativeScreen

NegativeScreen is a Windows application allowing you to invert your screen colors. (and more)
https://zerowidthjoiner.net/negativescreen
GNU General Public License v3.0
169 stars 20 forks source link

Multiple monitor support #2

Open mlaily opened 10 years ago

mlaily commented 10 years ago

Originally reported by: Sparx ­ (Bitbucket: Sparx10, GitHub: Sparx10)


I usually have a game on one monitor that I would like to keep in regular color, but then on the other monitor I have some horribly bright white applications, like a web browser, file explorer, or Skype.

Having the ability to invert only one monitor would be really nice. Basically just setting different inversion matrices for each monitor.


mlaily commented 10 years ago

Original comment by Sparx ­ (Bitbucket: Sparx10, GitHub: Sparx10):


That's alright. I was hoping it would be a rather quick implementation to tide me over while I work on a fork of this shortly in the future, but I suppose now I'll just have more motivation to get my forked version done more quickly.

mlaily commented 10 years ago

Original comment by Melvyn Laïly (Bitbucket: yaurthek, GitHub: Unknown):


Unfortunately that's not possible with the Windows Magnifier API NegativeScreen 2.* uses. It was possible with NegativeScreen 1 though (but NegativeScreen 1 was a bit more buggy and slow)...

But you are not the first one to ask for something like this. As I said before, I might release a future version with a mixed mode, using the fast API when in full-screen mode, and using the old API to allow enabling different matrices on different monitors...

it's quite a lot of work though, and I haven't been able to work much on this project lately. Sorry...

bobbybbrown commented 7 years ago

Commenting for continued desire for this particular feature :)

tysonflint commented 7 years ago

I would also find this feature very useful. I often have my primary monitor running an already dark themed editor, and would like to select all other monitors to toggle the color on, but leave the primary monitor alone from toggling.

I also have a monitor that's recently decided to default to showing the "negative" color of what its being driven with from the video card. NegativeScreen actually fixes the issue by flipping the colors back to their normal values. Thanks for providing a workaround fix for my monitor! Having the ability to toggle the colors in the opposite mode of the other monitors would also be a nice enhancement.

mlaily commented 7 years ago

Thanks for your feedback everyone. Still no progress on this feature request, but I'd like to mention I released an unofficial version a (long) while ago that got lost in the comments of my website.

It's based on the old v1, and handles multiple monitors with the ability to choose to enable monitors separately.

It's a bit crude, but probably still usable: https://0.x2a.yt/other/private/NegativeScreen-custom-multi-monitor.exe

wayfu commented 5 years ago

thank you for that download, it's exactly what I needed!

tysonflint commented 5 years ago

I've been using "NegativeScreen-custom-multi-monitor.exe" to invert the colors on just one of my monitors in my six-monitor setup. I use this monitor to connect to a "crash cart" adapter to use with a Privileged Access Workstation that I can't alter the colors on, so this tool has been great in toning down the colors for me to use throughout the day. I'm not noticing any video performance issues with it, but then again I'm only using it for non-gaming tasks and am running it with a Radeon RX 590.

My only issue with the "custom" version of the tool right now is that by default when it launches, it inverts the colors of all six monitors and I have to manually unselect the first five monitors from the context menu each time I reboot.

Would you mind adding a feature that would modify the 'OverlayManager' of "NegativeScreen-custom-multi-monitor.exe" to have the 'ToolStripMenuItem' parameter of "Checked=true" read it's values from an INI file or registry key, rather than the default of having all monitors found selected? This would allow the tool to launch with only the desired monitor(s) inverted each my computer reboots. I understand that this version of the tool really isn't being maintained with all the latest features of the main version, but it has everything I'm looking for. I'm thinking others would like this feature as well.

meph786 commented 4 years ago

Would you mind adding a feature that would modify the 'OverlayManager' of "NegativeScreen-custom-multi-monitor.exe" to have the 'ToolStripMenuItem' parameter of "Checked=true" read it's values from an INI file or registry key, rather than the default of having all monitors found selected? This would allow the tool to launch with only the desired monitor(s) inverted each my computer reboots.

+1

Franck-Dernoncourt commented 4 years ago

Thanks, https://0.x2a.yt/other/private/NegativeScreen-custom-multi-monitor.exe (mirror 1, mirror 2) is crashing on my Windows 7 SP1 x64 Ultimate (Aero disabled) when it starts. Any idea what could be the reason? The normal NegativeScreen.exe works fine.

image

Description:
  Stopped working

Problem signature:
  Problem Event Name:   CLR20r3
  Problem Signature 01: EY3SHVBFXSRNSBGKSV3CUAYHN3UGWWFA
  Problem Signature 02: 1.11.5008.36765
  Problem Signature 03: 5239010a
  Problem Signature 04: NegativeScreen
  Problem Signature 05: 1.11.5008.36765
  Problem Signature 06: 5239010a
  Problem Signature 07: 53
  Problem Signature 08: 112
  Problem Signature 09: System.Exception
  OS Version:   6.1.7601.2.1.0.256.1
  Locale ID:    1033

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt

Edit: EveryOtherUsernameWasAlreadyTaken found the issue: that's because I had OneNote running. OneNote registers the Win+Alt+N hotkey (try pressing it, a OneNote quick note will open) which makes the multi monitor tool crash. Closing the OneNote tool fixes the issue.

EveryOtherUsernameWasAlreadyTaken commented 4 years ago

The multi monitor version also crashes on my Windows 10.0.18362.836 x64.


0:000> !pe
Exception object: 00000000043f32e0
Exception type: System.Exception
Message: RegisterHotKey(win+alt+N)
InnerException: System.Runtime.InteropServices.COMException, use !PrintException 00000000043d3330 to see more
StackTrace (generated):
    SP               IP               Function
    00000000013FE910 00007FFAFA760BBF NegativeScreen!NegativeScreen.OverlayManager..ctor()+0x59f
    00000000013FE980 00007FFAFA760207 NegativeScreen!NegativeScreen.Program.Main(System.String[])+0xe7

StackTraceString: <none>
HResult: 80131500

Exception type is the same as @Franck-Dernoncourt

The original NegativeScreen cannot register the hotkey as well, but it does not crash and shows a message instead.

grafik

In my case, the hotkey was already in use by OneNote for quick notes. Closing the OneNote panel made it working.

mlaily commented 4 years ago

Sorry about that.

@Franck-Dernoncourt no idea about your crash. There is not enough information in the log. It might be the same crash as @EveryOtherUsernameWasAlreadyTaken ... If that's the case, removing or changing the hot key binding Alt+Win+N might fix it.

I need to find the time and motivation to rewrite the whole application... 😶

Franck-Dernoncourt commented 4 years ago

@mlaily thanks, no worries, @EveryOtherUsernameWasAlreadyTaken found the issue. Thanks for sharing https://0.x2a.yt/other/private/NegativeScreen-custom-multi-monitor.exe, it's very useful!

KaKi87 commented 4 years ago

Not working with HiDPI

HeatPhoenix commented 3 years ago

Is the source code for this multi-monitor ver. available anywhere? I'd like to modify it to only activate when a particular Window is in-focus/visible/maximized.

mlaily commented 3 years ago

Is the source code for this multi-monitor ver. available anywhere? I'd like to modify it to only activate when a particular Window is in-focus/visible/maximized.

Yup, the branch is there: https://github.com/mlaily/NegativeScreen/tree/custom_multi_monitor_support

HeatPhoenix commented 3 years ago

Is the source code for this multi-monitor ver. available anywhere? I'd like to modify it to only activate when a particular Window is in-focus/visible/maximized.

Yup, the branch is there: https://github.com/mlaily/NegativeScreen/tree/custom_multi_monitor_support

Perfect, thank you. Just in case anyone wants an example of such a modification, check out my fork here: https://github.com/HeatPhoenix/NegativeScreen-Vivado-Edition-

vks2005 commented 2 years ago

This is a very good program to keep handy. Showing negative/inverted image is a favorite way of many LCD monitors to fail. I have a LCD monitor that has developed a fault and shows negative colors.

I am using a dual monitor setup and this program is able correct the color problem but I am facing another issue. When NegativeScreen-custom-multi-monitor.exe is used, it somehow zooms the display approximately 150% on the faulty monitor. Other monitor is not zoomed. Kindly inform if there is some configuration setting or file entry that might be causing this.

The latest version of NegativeScreen.exe doesn't zoom the display but it inverts both displays.

Thanks.

mlaily commented 2 years ago

@vks2005 NegativeScreen is not supposed to affect scaling at all, there are no option to do that. Maybe your problem is dpi related: does your screen uses a 150% scaling factor by any chance? I'm not sure it works properly with this version of NegativeScreen...

vks2005 commented 2 years ago

@vks2005 NegativeScreen is not supposed to affect scaling at all, there are no option to do that. Maybe your problem is dpi related: does your screen uses a 150% scaling factor by any chance? I'm not sure it works properly with this version of NegativeScreen...

Thank you for the insight. Looking into Windows10 > Settings > Display and selecting the affected monitor I found that "Change the size of text, apps and other items" settings was set to 125%.

I had done this long time back as this second screen is placed a bit further away from me. Normally this setting increases only the text size but while using NegativeScreen-Multi-Monitor it started to increase size of everything. (Window size, dialog box size etc).

After resetting it back to 100%, everything is perfect. After a slight HUE adjustment in the display driver the monitor is working like a new one. LCD monitors have a circuit part that fails quite often and monitor starts showing negative images. It is a very common problem.

Thank you for making this useful software and also for the insight.

Atexor commented 2 years ago

Hey @mlaily. Sorry for refreshing old thread, however is it possible to add multi monitor support to main branch? Your old second branch-release works on my W10 but is very limited without many without many features from main release. Thank you for for all your work.

mlaily commented 2 years ago

@Atexor unfortunately, multi-monitor support only works with the old (slower, more buggy, and harder to use) Windows Magnifier API (the one used in older versions of NegativeScreen before the full screen API existed).

I've been wanting to do a new version supporting both methods, since they both have their pros and cons, but I never found the time to really work on it (sorry).

One day... :)

Max0r847 commented 1 year ago

It's based on the old v1, and handles multiple monitors with the ability to choose to enable monitors separately.

It's a bit crude, but probably still usable: https://0.x2a.yt/other/private/NegativeScreen-custom-multi-monitor.exe

It appears the link no longer works. I would very much be interested in trying this.

Atexor commented 1 year ago

It's based on the old v1, and handles multiple monitors with the ability to choose to enable monitors separately. It's a bit crude, but probably still usable: https://0.x2a.yt/other/private/NegativeScreen-custom-multi-monitor.exe

It appears the link no longer works. I would very much be interested in trying this.

Here you have it: https://zippysha.re/E6c37dw8zc/negative_screen_left_win_alt_f4_exe

I changed a bit name to remember the shortcut to change colors since I don't use it every day. Still works on latest Win10 build. You can disable effect on icon on taskbar, but disabling completely is possible only via task manager.

Max0r847 commented 1 year ago

Here you have it: https://zippysha.re/E6c37dw8zc/negative_screen_left_win_alt_f4_exe

I changed a bit name to remember the shortcut to change colors since I don't use it every day. Still works on latest Win10 build. You can disable effect on icon on taskbar, but disabling completely is possible only via task manager.

Thank you so much. This may be my last, best hope, to make an eyesore log display black instead of white. I will have to update some image backups before attempting this, as I have a "well broken in" Windows 10 which will require a .net update to run it. ;)

mlaily commented 1 year ago

It appears the link no longer works. I would very much be interested in trying this.

Hello! The link does still work, but it's hosted on a server living on my home internet provider, and it was unfortunately down the whole day today...^^"

Max0r847 commented 1 year ago

Hello! The link does still work, but it's hosted on a server living on my home internet provider, and it was unfortunately down the whole day today...^^"

That's awesome. It's good to see people are still doing that. I used to host a website myself from a junk computer on my cable connection 20 years ago, and I plan on doing so again in the future.

KaKi87 commented 1 year ago

Being independent is nice, but still in a datacenter is better.

Because at home, not only your downtime is higher due to domestic service levels, but you're also more exposed to electrical, fire, heating and DDOS issues, and you're also wearing out faster if using non-server equipment.

Atexor commented 1 year ago

If may I interrupt, @mlaily does your plans to regarding multi-gpu support on newer version of NegativeScreen changed? Do you have a bit more time :)?

mlaily commented 1 year ago

@Atexor not much change no, and not much time either...