Re: backing up NVDA settings


I believe I addressed your questions in my previous message.  I sent it before I saw yours.  I wouldn't inform the user of anything about what or where changes have been made.  I would display the same dialog any time any settings have  been changed.  Its up to the user to remember what changes were made and determine if he/she wants to save them. 

If you are saying there are technical problems with the program knowing when to display the dialog, that's a question I don't have the knowledge to address.


On 1/17/2022 3:28 PM, Joseph Lee wrote:


Saving configuration is done in five steps:

  1. NVDA will see if it should save settings when exiting.
  2. If told to save settings, NVDA will first notify add-ons and other components that settings are about to be saved. This allows add-ons and other components to perform actions such as evaluating their own settings.
  3. Normal configuration is saved. This is mandatory.
  4. Modified configuration profiles are saved, if any.
  5. NVDA informs add-ons and other components that NVDA settings were saved. Add-ons will then perform actions such as saving their own settings.

A potential confusion can arise if NVDA is told to show config save prompt and:

  1. Multiple profiles other than normal configuration were edited.
  2. At least one of the modified profiles have multiple settings not saved yet.

Adding to the confusion is that:

  1. Internally, settings are stored as Python dictionaries, and settings (keys) are defined with text that are not easily translated for users. For example, show exit options is internally known as "askToExit", but in general settings it is labeled "Show exit options when exiting NVDA". Not all options are like this - in object presentation settings, "report notifications" is internally called "reportHelpBalloons". This is why the wording between nvda.ini is not the same as the ones shown in Settings screen.
  2. A setting may rely on more than one underlying configuration representation. For example, report indentation setting from document formatting panel relies on two flags: the actual line indentation reporting flag, and a flag indicating indentation announcement with tones. A bitwise operation is used to configure these flags for a total of four options: indentation off, indentation speech, indentation tone, indentation speech and tone.

Imagine a user is told about profile name and the exact setting that's different, and suppose the internal option names are used. Moreover, imagine the primary language of this user is not English. I hope you understand what I'm talking about.

Hope this helps.



Join to automatically receive all group messages.