Re: backing up NVDA settings


Gene
 

I've done almost nothing with profiles and I don't remember the little I did years ago.  I might have to read about profiles again to properly understand what you are saying.


As things are now, when you change a setting in a profile, then close NVDA whether you are in that profile or not, is the setting saved?  Are all changes everywhere automatically saved when using the default?  If so, how does the dialog change anything?  The user would answer yes or no and savings anywhere would be saved.  But if that isn't how profiles work, then the dialog might present problems and confusions I don't know about.


If the question is too involved to answer and I need to read about profiles to properly understand it, please let me know.


Gene

On 1/17/2022 2:08 PM, Joseph Lee wrote:

Hi,

As for profiles comment, consider the following scenario:

Imagine a user creates two configuration profiles: a manual profile, and an app-specific profile. With this set up, three profiles will be used: normal configuration, manual profile, and app-specific profile. Now suppose a feature to notify users about unsaved settings is implemented.

Now suppose this user activates the manual profile, called "profile 1". Then the user switches to the app-specific profile for an app, say Windows Terminal because the user needs to read terminal output, which takes place as soon as system focus moves to Windows Terminal window. now suppose the user opens object presentation settings panel from Windows Terminal window and tells NVDA to not announce object descriptions (by default, this setting is on).

Scenario 1: after changing settings, user exits NVDA while focused on Windows Terminal. NVDA says the current profile is not saved and offers to save changes.

Scenario 2: after changing settings, user moves to a different app and exits NVDA. NVDA will prompt to save settings.

Scenario 3: after changing settings, not only the user moves to a different app, but deactivates profile 1, the manual configuration profile, and then exits NVDA.

Scenario 4: after changing settings, not only the user moves to a different app and deactivates manual profile, the user creates a new profile and activates it. Then the user changes Windows OCR language and does not save settings, then exits NVDA.

Think carefully:

  • Scenario 1 is straightforward - at least the user thinks NVDA is presenting config save dialog while "focused" on Windows Terminal when in fact Windows Terminal profile is deactivated. Why? Because exit dialog is part of NVDA itself, not Windows Terminal, therefore the app is different and the Windows Terminal profile is deactivated.
  • Scenario 2 is a bit easier to understand on the surface but may confuse users without specifying exactly which profile is not saved.
  • Scenario 3 is similar to scenario 2 but with an important caveat: what if the user changes something from manual profile without saving it? If the setting is not changed, NVDA would have an easier time because only one profile needs to be saved. But if you do not save settings in more than one profile, then NVDA must present settings for multiple profiles.
  • Scenario 4 is perhaps the most complicated set up and demonstrates the question raised from scenario 3.

These complications arise due to how configuration profiles are organized and handled from NVDA, something I hope to write about when given a chance to do so. But suffice to say that configuration profiles handling uses at least three components: configuration maps, settings scope, and profile switch detection.

Cheers,

Joseph

Join nvda@nvda.groups.io to automatically receive all group messages.