-
-
Notifications
You must be signed in to change notification settings - Fork 651
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error at screen curtain activation when Windows Magnifier is active #10545
Comments
I'm afraid the only thing we could do here is improve the UX. As windows Magnifier holds the API that we use to activate the screen curtain, we simply can't use the screen curtain when the magnifier is on. |
It should be pretty easy to at least add a warning to the NVDA user guide telling that the screen curtain can't be enabled when the windows magnifier is on. We could also hide the curtain option when the magnifier is on. @CyrilleB79: could you also check what happens if the curtain is on and you activate the widnows magnifier? I"m afraid the curtain is killed without notice? Again, this is also a case that's pretty difficult to act upon. |
Yes we can as described briefly in Test 2: Screen curtain can be activated when Windows Magnifier is active, provided that color inversion is not enabled at this time. |
@LeonarddeR I have made the test you suggest. Here are the results: Test 6:
Maybe Windows Magnifier programs a color transformation matrix that is overridden by NVDA's screen curtain color transformation matrix. The easiest solution is to implement the minimal choice for expected behaviour, i.e. indicate to the user that screen curtain should not be used when Magnifier is active. However we should ideally also discourage the user to launch the Magnifier when screen curtain is on. Another question is: Is screen curtain profile-dependant? |
By the way, @LeonarddeR, why did you put the CANTFIX label? Probably we cannot support screen curtain along with Windows Magnifier. However we can probably do some things to improve UX:
|
Because we can't fix any conflicts between the magnifier and screen curtain. We can only describe them in the user guide. Your tests really prove to be helpful, thanks a lot for this! |
OK, I thought that CANTFIX label was a label to use when an issue was closed to indicate the closure reason. This incompatibility should however be indicated at least in user doc (and maybe in a message box when activating feature) before closing this issue. |
Another idea: Would it be possible to use MagGetFullscreenColorEffect before the screen curtain activation in order to store the current color transformation? This would allow to restore the color transformation when screen curtain is deactivated. |
…#10689) When screen curtain activation failed it could not be activated in future attempts. An example of screen curtain activation failing is described in #10545. Activation may fail because Windows Magnifier is already active with color inversion. But activation also fails when you try again to activate screen curtain, even if you have disabled color inversion or exited Windows Magnifier. This change: If screen curtain activation has previously failed (E.G. due to Windows Magnifier's color inversion) it should not fail after color inversion is disabled or Magnifier is off. The Magnifier API must be uninitialized before it can be reinitialized, as requested on 'Magnification API Overview | Microsoft Docs' webpage [1]: > Initializing the Magnifier Run-time LibraryInitializing the Magnifier Run-time Library > Before you can call any other magnifier API functions, you must create and initialize > the magnifier run-time objects by calling the MagInitialize function. > Similarly, after you finish using the magnifier API, > call the MagUninitialize function to destroy the magnifier run-time objects and free > the associated system resources. [1](https://docs.microsoft.com/en-us/previous-versions/windows/desktop/magapi/magapi-intro#initializing-the-magnifier-run-time-library)
@CyrilleB79 I see that a related PR has been merged. Did this improve it now? |
No, the merged PR (#10689) does not solve this issue, i.e. it does not allow to activate screen curtain when Magnifier is active. There does not seem to be a solution. So I think documenting this incompatibility would be enough to close this issue. |
As explained in #16258 (comment), to close this issue, not only the documentation should be updated to mention this limitation. In addition the screen curtain failure should be notified in some way to the user, also when triggering a profile (app switching) or when starting NVDA, what is not the case today. |
…colors in the Magnifier (#16258) Partial fix for #10545 Summary of the issue: Screen curtain cannot be activated while Windows Magnifier is running with inverted screen colors. An error message can be heard when trying to activate the screen curtain. Though, this incompatibility is not documented in the User Guide. Description of user facing changes Update the User Guide.
…colors in the Magnifier (nvaccess#16258) Partial fix for nvaccess#10545 Summary of the issue: Screen curtain cannot be activated while Windows Magnifier is running with inverted screen colors. An error message can be heard when trying to activate the screen curtain. Though, this incompatibility is not documented in the User Guide. Description of user facing changes Update the User Guide.
Steps to reproduce:
Actual behavior:
Expected behavior:
Other tests performed
System configuration
NVDA installed/portable/running from source:
From source
NVDA version:
Version : source-master-c750926
(last version)
Windows version:
Windows 10 1709
Name and version of other software in use when reproducing the issue:
For test 1: none.
For some other tests: Zoomtext 11
Other information about your system:
Other questions
Does the issue still occur after restarting your PC?
Yes
Have you tried any other versions of NVDA? If so, please report their behaviors.
No other stable version.
I have already seen this issue few time after the screen curtain was merged into alpha but did not bother to fill an issue at the time. I do not remember however the version of the alpha in which I have already seen the issue.
The text was updated successfully, but these errors were encountered: