preparing the new magnifier types#19915
Merged
seanbudd merged 16 commits intonvaccess:masterfrom May 6, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Prepares NVDA’s magnifier subsystem for upcoming magnifier “types” (fullscreen/fixed/docked/lens) by adding type persistence, a cycle gesture, and placeholder implementations.
Changes:
- Add
magnifierTypeto config and wire initialization to create the appropriate magnifier instance. - Add a global command/gesture to cycle magnifier types and announce the selected type.
- Introduce a
PlaceholderMagnifier, expandMagnifierTypeenum, update docs and unit tests for the new lifecycle.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
user_docs/en/userGuide.md |
Adds documentation for magnifier types and placeholder sections for upcoming modes. |
tests/unit/test_magnifier/test_magnifier.py |
Updates unit test expectations around magnifier type initialization. |
tests/unit/test_magnifier/test_fullscreenMagnifier.py |
Updates fullscreen tests to explicitly start the magnifier after constructor changes. |
source/globalCommands.py |
Adds a new script/gesture to cycle magnifier type. |
source/config/configSpec.py |
Adds magnifierType setting under [magnifier]. |
source/_magnifier/utils/types.py |
Adds CHANGE_MAGNIFIER_TYPE action and new MagnifierType members. |
source/_magnifier/placeholderMagnifier.py |
Adds placeholder magnifier class for not-yet-implemented types. |
source/_magnifier/magnifier.py |
Adjusts base class _magnifierType initialization behavior. |
source/_magnifier/config.py |
Adds getters/setters for magnifierType. |
source/_magnifier/commands.py |
Adds cycle-type command and updates start message to include type. |
source/_magnifier/__init__.py |
Refactors module initialization to create magnifier instances by type and support runtime type changes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Member
5 tasks
Member
|
I've reopened this now that most of the other PRs are done or close to done |
seanbudd
reviewed
Apr 29, 2026
CyrilleB79
reviewed
Apr 29, 2026
CyrilleB79
reviewed
Apr 29, 2026
CyrilleB79
reviewed
Apr 29, 2026
CyrilleB79
reviewed
Apr 29, 2026
seanbudd
reviewed
May 4, 2026
seanbudd
reviewed
May 5, 2026
Co-authored-by: Sean Budd <sean@nvaccess.org>
…into NewMagTypes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Link to issue number:
pre - #19473
parts of #19810
Summary of the issue:
needed to add logic for changing types before new types
Description of user facing changes:
Magnifier got a new cycle gesture to change to soon to be implemented new types: fixed/docked/lens
Description of developer facing changes:
added a placeholder for easier developement to be done.
Description of development approach:
as the new modes will inherite from the same logics, first making sure they can be added correctly to the actual code
Testing strategy:
Unit
Known issues with pull request:
Code Review Checklist: