NVDA Dev & Test Toolbox #addonrequestreview


Cyrille
 

 

Hello all

I am glad to share with you my add-on NVDA Dev & Test Toolbox.
The documentation is under my signature.
Direct download link: https://github.com/CyrilleB79/NVDA-Dev-Test-Toolbox/releases/download/V2.0/nvdaDevTestToolbox-2.0.nvda-addon

The add-on is not totally new but I had never advertised so much about it. If you find some issue or want to make feedback, do not hesitate, replying to this message or on the GitHub repo.
I plan to submit it for the community website if it interests people. As the name indicates, the audience target for this add-on are people developing or testing NVDA or its add-ons.
Let me know what you think.

Cheers,

Cyrille

NVDA Dev & Test Toolbox

  • Author: Cyrille Bougot
  • NVDA compatibility: 2019.2 and beyond
  • Download stable version

This add-on gathers various features for NVDA debugging and testing.

 

Features

  • An enhanced restart dialog to specify some extra options when restarting NVDA.
  • A toggle script and a backport of NVDA's "Play a sound for logged errors" feature.
  • An object property explorer.
  • An extended script description mode: when enabled input help mode report information on scripts that have no description.
  • Commands to help log reading and analyzing.
  • In the Python console workspace, a function to open the source code of an object.
  • A command to log the stack trace of the speech.speak function.

 

Enhanced restart dialog

The NVDA+shift+Q command opens a dialog to specify some extra options before restarting NVDA. The options that can be specified correspond to the command line options that can be used with nvda.exe, e.g. -c for config path, --disable-addons to disable add-ons, etc.

 

Play a sound for logged errors

The "Play a sound for logged errors" setting has been introduced in NVDA 2021.3 and allows to specify if NVDA will play an error sound in case an error is logged.

This add-on provides an additional command (NVDA+control+alt+E) to toggle this setting. You can choose:

  • "Only in test versions" (default) to make NVDA play error sounds only if the current NVDA version is a test version (alpha, beta or run from source).
  • "Yes" to enable error sounds whatever your current NVDA version is.

For NVDA prior to 2021.3, this add-on provides the backport of this feature and the possibility to control it with the keyboard command. The checkbox in the Advanced settings panel is not backported however.

 

Object property explorer

This feature allows to report some properties of the current navigator object without opening the log viewer.

To list the properties of an object, move the navigator object to it and use the following commands:

  • NVDA+Shift+LeftArrow or NVDA+Shift+RightArrow: select previous or next property and announce it for the navigator object.
  • NVDA+LeftArrow : Announce the navigator object's currently selected property.

The list of the supported properties is the following: name, role, state, value, windowClassName, windowControlID, windowHandle, location, Python class, Python class mro.

This feature is an improvement of NVDA developer guide example 3

If you have installed Speech history review and copying add-on from Tyler Spivey and James Scholes, you may use it to copy and paste the announced property to review it. Review via copy/paste is especially useful for pythonClassMRO since it may be long.

 

Extended script description mode

When the Extended script description mode is active, the input help mode (NVDA+1) is modified as follows. If a script has no description, the script's name and class are reported. If a script has a description, its description is reported as usual. The gesture to activate or deactivate this feature is NVDA+control+alt+D.

Executing a gesture bound to a script without description in input help mode also create an entry for this script in the gesture management dialog. This entry is located in a dedicated category called "Scripts without description (modify at your own risk!)". This allow to easily add, delete or change the native NVDA gestures for these script. Be aware however that it is often intended that such script do not have any description to prevent the user to modify the associated gesture. Indeed, the gesture may be defined to match an application shortcut key. For example the script script_toggleItalic on NVDAObjects.window.winword.WordDocument is bound to control+I and this should not be modified since the gesture is passed to the application to actually execute the shortcut key.

 

Usage example

Control+shift+I also toggle italic in Word, even if it is not natively reported by NVDA. To have the control+shift+I result reported by NVDA as control+I, you should perform the following steps:

  • Open a Word document.
  • Enable the extended script description mode with NVDA+control+alt+D.
  • Enter input help mode with NVDA+1.
  • Press control+I to report the italic script and have it added in the gesture dialog.
  • Exit input help mode with NVDA+1.
  • Open the input gestures dialog.
  • In the category "Scripts without description (modify at your own risk!)", select the command "toggleItalic on NVDAObjects.window.winword.WordDocument".
  • Add the control+shift+I shortcut and validate.
  • If you want, exit the extended script description mode with NVDA+control+alt+D.

Known bug: A script added for a specific class is visible even if gesture manager is opened in another context.

 

Log reading and analyzing commands

A log reader mode provides commands to ease log reading and analyzing. In the log viewer window the log reader is enabled by default, thus log reading commands are available immediately. In another text reading area such as an editor (e.g. Notepad++) or a webpage (e.g. GitHub issue), you need to press NVDA+control+alt+L to enable log reader mode and use its commands. When you are done with log reading and analyzing tasks, you can disable again NVDA+control+alt+L to disable the log reader mode.

The commands available in log reader mode are described hereafter.

 

Quick navigation commands

Single letter command similar to browse mode quick navigation keys allow to move to various type of log messages:

  • m: any message
  • e: ERROR
  • i: IO
  • d: DEBUG
  • f: INFO
  • g: DEBUGWARNING
  • w: WARNING

Pressing the single letter moves to the next occurrence of this message. Combining the letter with the shift key moves to the previous occurrence of this message.

 

Opening a file in your editor

When looking at a traceback, you may want to open one of the source files to understand the cause and the context of the issue. Press C to open the source code file corresponding to the current line of the traceback.

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

 

Python console extension

In the console, you can call the following function to view the source code that defines the variable myVar:
openCodeFile(myVar)

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

The openCodeFile functions can be called on objects defined in NVDA's code or on objects defined by add-ons. It cannot be called on objects whose source code is not available such as python builtins.

Below are examples of call in NVDA's code:

  • View the definition of the function speech.speech.speak:
    openCodeFile(speech.speech.speak)
  • View the definition of the class TextInfo:
    openCodeFile(textInfos.TextInfo)
  • View the definition of the method copyToClipboard of the class TextInfo:
    openCodeFile(textInfos.TextInfo.copyToClipboard)
  • View the class definition of the focused object:
    openCodeFile(focus)
  • Open the file api.py defining the module api:
    openCodeFile(api)

 

Log the stack trace of the speech function

Sometimes, you may want to see which part of the code is responsible for speaking something. For this, you can enable the stack trace logging of the speech function pressing NVDA+control+alt+S. Each time NVDA speaks, a corresponding stack trace will be logged in the log.

Note: You may modify the script's file directly to patch another function. See all instructions in the file for details on usage.

 

NVDA Debug & Test Tools configuration

The log reader commands and the python console extension feature may require a specific configuration. To use functions that allow to view source code in your editor, you should first configure your editor's command line. If NVDA's file need to be viewed and if you are not running from source, you also need to configure NVDA's source code path.

 

Editor's command line configuration

To use the 'open source code' command or the openCodeFile console command, you need first to configure the command that will be called to open the file in your favorite editor. For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['sourceFileOpener'] = r'"C:\path\to\my\editor\editor.exe" "{path}":{line}' You should of course modify this line according to the real name and location of your editor and the syntax used by it to open files. {path} will be replaced by the full path of the file to open and {line} by the line number where you want the cursor to be set. For Notepad++ for example the command to type in the console would be: config.conf['ndtt']['sourceFileOpener'] = r'"C:\Program Files\Notepad++\notepad++.exe" {path} -n{line}'

 

NVDA source code path configuration

When a file belonging to NVDA's core is listed in the traceback, the line is of the following form: File "config\profileUpgrader.pyc", line 30, in upgrade

If you are not running NVDA from source, you may specify an alternate location where the source file will be found, e.g. the place where you have cloned NVDA source files. In this case, you have to configure the path where you have NVDA source files located.

For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['nvdaSourcePath'] = r'C:\pathExample\GIT\nvda\source' Of course, replace the path of NVDA source with the correct one.

Be sure however that the version of your source file (e.g. GIT commit) is the same as the one of the running instance of NVDA.

 

Change log

 

Version 2.0

  • New feature: Enhanced restart dialog to specify some extra options when restarting NVDA.
  • New feature: extended description mode.
  • Play error sound feature harmonized between pre and post 2021.3 versions of NVDA.
  • New feature: Log reader commands are now available in the log viewer and also optionally in edit fields or webpages.
  • New feature: In the Python console, an openCodeFile function is available to view the source code of an object.
  • Some features are now disabled in secure mode for security reasons.
  • The add-on's compatibility range has been extended (from 2019.2 to 2021.1).
  • Releases are now performed with GitHub action instead of appVeyor.

 

Version 1.0

  • Initial release.
 
  •  


Noelia Ruiz
 

Hi Cyrille:

I"ll look at this add-on and, if needed, I"ll open issues on GitHub.
PS: for any reason, your message appears with a lot of hashtags, maybe due to autocompletion tools or something. I"ll try to edit the subject since it"s anoying to read them.
Cheers

Enviado desde mi iPhone

El 18 jun 2022, a las 0:12, Cyrille via groups.io <cyrille.bougot2@...> escribió:


 

Hello all

I am glad to share with you my add-on NVDA Dev & Test Toolbox.
The documentation is under my signature.
Direct download link: https://github.com/CyrilleB79/NVDA-Dev-Test-Toolbox/releases/download/V2.0/nvdaDevTestToolbox-2.0.nvda-addon

The add-on is not totally new but I had never advertised so much about it. If you find some issue or want to make feedback, do not hesitate, replying to this message or on the GitHub repo.
I plan to submit it for the community website if it interests people. As the name indicates, the audience target for this add-on are people developing or testing NVDA or its add-ons.
Let me know what you think.

Cheers,

Cyrille

NVDA Dev & Test Toolbox

  • Author: Cyrille Bougot
  • NVDA compatibility: 2019.2 and beyond
  • Download stable version

This add-on gathers various features for NVDA debugging and testing.

 

Features

  • An enhanced restart dialog to specify some extra options when restarting NVDA.
  • A toggle script and a backport of NVDA's "Play a sound for logged errors" feature.
  • An object property explorer.
  • An extended script description mode: when enabled input help mode report information on scripts that have no description.
  • Commands to help log reading and analyzing.
  • In the Python console workspace, a function to open the source code of an object.
  • A command to log the stack trace of the speech.speak function.

 

Enhanced restart dialog

The NVDA+shift+Q command opens a dialog to specify some extra options before restarting NVDA. The options that can be specified correspond to the command line options that can be used with nvda.exe, e.g. -c for config path, --disable-addons to disable add-ons, etc.

 

Play a sound for logged errors

The "Play a sound for logged errors" setting has been introduced in NVDA 2021.3 and allows to specify if NVDA will play an error sound in case an error is logged.

This add-on provides an additional command (NVDA+control+alt+E) to toggle this setting. You can choose:

  • "Only in test versions" (default) to make NVDA play error sounds only if the current NVDA version is a test version (alpha, beta or run from source).
  • "Yes" to enable error sounds whatever your current NVDA version is.

For NVDA prior to 2021.3, this add-on provides the backport of this feature and the possibility to control it with the keyboard command. The checkbox in the Advanced settings panel is not backported however.

 

Object property explorer

This feature allows to report some properties of the current navigator object without opening the log viewer.

To list the properties of an object, move the navigator object to it and use the following commands:

  • NVDA+Shift+LeftArrow or NVDA+Shift+RightArrow: select previous or next property and announce it for the navigator object.
  • NVDA+LeftArrow : Announce the navigator object's currently selected property.

The list of the supported properties is the following: name, role, state, value, windowClassName, windowControlID, windowHandle, location, Python class, Python class mro.

This feature is an improvement of NVDA developer guide example 3

If you have installed Speech history review and copying add-on from Tyler Spivey and James Scholes, you may use it to copy and paste the announced property to review it. Review via copy/paste is especially useful for pythonClassMRO since it may be long.

 

Extended script description mode

When the Extended script description mode is active, the input help mode (NVDA+1) is modified as follows. If a script has no description, the script's name and class are reported. If a script has a description, its description is reported as usual. The gesture to activate or deactivate this feature is NVDA+control+alt+D.

Executing a gesture bound to a script without description in input help mode also create an entry for this script in the gesture management dialog. This entry is located in a dedicated category called "Scripts without description (modify at your own risk!)". This allow to easily add, delete or change the native NVDA gestures for these script. Be aware however that it is often intended that such script do not have any description to prevent the user to modify the associated gesture. Indeed, the gesture may be defined to match an application shortcut key. For example the script script_toggleItalic on NVDAObjects.window.winword.WordDocument is bound to control+I and this should not be modified since the gesture is passed to the application to actually execute the shortcut key.

 

Usage example

Control+shift+I also toggle italic in Word, even if it is not natively reported by NVDA. To have the control+shift+I result reported by NVDA as control+I, you should perform the following steps:

  • Open a Word document.
  • Enable the extended script description mode with NVDA+control+alt+D.
  • Enter input help mode with NVDA+1.
  • Press control+I to report the italic script and have it added in the gesture dialog.
  • Exit input help mode with NVDA+1.
  • Open the input gestures dialog.
  • In the category "Scripts without description (modify at your own risk!)", select the command "toggleItalic on NVDAObjects.window.winword.WordDocument".
  • Add the control+shift+I shortcut and validate.
  • If you want, exit the extended script description mode with NVDA+control+alt+D.

Known bug: A script added for a specific class is visible even if gesture manager is opened in another context.

 

Log reading and analyzing commands

A log reader mode provides commands to ease log reading and analyzing. In the log viewer window the log reader is enabled by default, thus log reading commands are available immediately. In another text reading area such as an editor (e.g. Notepad++) or a webpage (e.g. GitHub issue), you need to press NVDA+control+alt+L to enable log reader mode and use its commands. When you are done with log reading and analyzing tasks, you can disable again NVDA+control+alt+L to disable the log reader mode.

The commands available in log reader mode are described hereafter.

 

Quick navigation commands

Single letter command similar to browse mode quick navigation keys allow to move to various type of log messages:

  • m: any message
  • e: ERROR
  • i: IO
  • d: DEBUG
  • f: INFO
  • g: DEBUGWARNING
  • w: WARNING

Pressing the single letter moves to the next occurrence of this message. Combining the letter with the shift key moves to the previous occurrence of this message.

 

Opening a file in your editor

When looking at a traceback, you may want to open one of the source files to understand the cause and the context of the issue. Press C to open the source code file corresponding to the current line of the traceback.

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

 

Python console extension

In the console, you can call the following function to view the source code that defines the variable myVar:
openCodeFile(myVar)

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

The openCodeFile functions can be called on objects defined in NVDA's code or on objects defined by add-ons. It cannot be called on objects whose source code is not available such as python builtins.

Below are examples of call in NVDA's code:

  • View the definition of the function speech.speech.speak:
    openCodeFile(speech.speech.speak)
  • View the definition of the class TextInfo:
    openCodeFile(textInfos.TextInfo)
  • View the definition of the method copyToClipboard of the class TextInfo:
    openCodeFile(textInfos.TextInfo.copyToClipboard)
  • View the class definition of the focused object:
    openCodeFile(focus)
  • Open the file api.py defining the module api:
    openCodeFile(api)

 

Log the stack trace of the speech function

Sometimes, you may want to see which part of the code is responsible for speaking something. For this, you can enable the stack trace logging of the speech function pressing NVDA+control+alt+S. Each time NVDA speaks, a corresponding stack trace will be logged in the log.

Note: You may modify the script's file directly to patch another function. See all instructions in the file for details on usage.

 

NVDA Debug & Test Tools configuration

The log reader commands and the python console extension feature may require a specific configuration. To use functions that allow to view source code in your editor, you should first configure your editor's command line. If NVDA's file need to be viewed and if you are not running from source, you also need to configure NVDA's source code path.

 

Editor's command line configuration

To use the 'open source code' command or the openCodeFile console command, you need first to configure the command that will be called to open the file in your favorite editor. For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['sourceFileOpener'] = r'"C:\path\to\my\editor\editor.exe" "{path}":{line}' You should of course modify this line according to the real name and location of your editor and the syntax used by it to open files. {path} will be replaced by the full path of the file to open and {line} by the line number where you want the cursor to be set. For Notepad++ for example the command to type in the console would be: config.conf['ndtt']['sourceFileOpener'] = r'"C:\Program Files\Notepad++\notepad++.exe" {path} -n{line}'

 

NVDA source code path configuration

When a file belonging to NVDA's core is listed in the traceback, the line is of the following form: File "config\profileUpgrader.pyc", line 30, in upgrade

If you are not running NVDA from source, you may specify an alternate location where the source file will be found, e.g. the place where you have cloned NVDA source files. In this case, you have to configure the path where you have NVDA source files located.

For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['nvdaSourcePath'] = r'C:\pathExample\GIT\nvda\source' Of course, replace the path of NVDA source with the correct one.

Be sure however that the version of your source file (e.g. GIT commit) is the same as the one of the running instance of NVDA.

 

Change log

 

Version 2.0

  • New feature: Enhanced restart dialog to specify some extra options when restarting NVDA.
  • New feature: extended description mode.
  • Play error sound feature harmonized between pre and post 2021.3 versions of NVDA.
  • New feature: Log reader commands are now available in the log viewer and also optionally in edit fields or webpages.
  • New feature: In the Python console, an openCodeFile function is available to view the source code of an object.
  • Some features are now disabled in secure mode for security reasons.
  • The add-on's compatibility range has been extended (from 2019.2 to 2021.1).
  • Releases are now performed with GitHub action instead of appVeyor.

 

Version 1.0

  • Initial release.
 
  •  


Travis Roth
 

Hashtags?

Cyrille’s message with the documentation is in excellent condition for me with nice formatting even.

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Noelia Ruiz
Sent: Friday, June 17, 2022 6:38 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] NVDA Dev & Test Toolbox #addon #add-on #addonregistration #addonrelase #addonrelease #addonrelesae #addonrelese #addonrequest #addonrequestreview #addonreview #addon-review #addonreviewrequest #addons #addonsgithuborganization #addontest

 

Hi Cyrille:

 

I"ll look at this add-on and, if needed, I"ll open issues on GitHub.

PS: for any reason, your message appears with a lot of hashtags, maybe due to autocompletion tools or something. I"ll try to edit the subject since it"s anoying to read them.

Cheers

Enviado desde mi iPhone



El 18 jun 2022, a las 0:12, Cyrille via groups.io <cyrille.bougot2@...> escribió:



 

Hello all

I am glad to share with you my add-on NVDA Dev & Test Toolbox.
The documentation is under my signature.
Direct download link: https://github.com/CyrilleB79/NVDA-Dev-Test-Toolbox/releases/download/V2.0/nvdaDevTestToolbox-2.0.nvda-addon

The add-on is not totally new but I had never advertised so much about it. If you find some issue or want to make feedback, do not hesitate, replying to this message or on the GitHub repo.
I plan to submit it for the community website if it interests people. As the name indicates, the audience target for this add-on are people developing or testing NVDA or its add-ons.
Let me know what you think.

Cheers,

Cyrille

NVDA Dev & Test Toolbox

  • Author: Cyrille Bougot
  • NVDA compatibility: 2019.2 and beyond
  • Download stable version

This add-on gathers various features for NVDA debugging and testing.

 

Features

  • An enhanced restart dialog to specify some extra options when restarting NVDA.
  • A toggle script and a backport of NVDA's "Play a sound for logged errors" feature.
  • An object property explorer.
  • An extended script description mode: when enabled input help mode report information on scripts that have no description.
  • Commands to help log reading and analyzing.
  • In the Python console workspace, a function to open the source code of an object.
  • A command to log the stack trace of the speech.speak function.

 

Enhanced restart dialog

The NVDA+shift+Q command opens a dialog to specify some extra options before restarting NVDA. The options that can be specified correspond to the command line options that can be used with nvda.exe, e.g. -c for config path, --disable-addons to disable add-ons, etc.

 

Play a sound for logged errors

The "Play a sound for logged errors" setting has been introduced in NVDA 2021.3 and allows to specify if NVDA will play an error sound in case an error is logged.

This add-on provides an additional command (NVDA+control+alt+E) to toggle this setting. You can choose:

  • "Only in test versions" (default) to make NVDA play error sounds only if the current NVDA version is a test version (alpha, beta or run from source).
  • "Yes" to enable error sounds whatever your current NVDA version is.

For NVDA prior to 2021.3, this add-on provides the backport of this feature and the possibility to control it with the keyboard command. The checkbox in the Advanced settings panel is not backported however.

 

Object property explorer

This feature allows to report some properties of the current navigator object without opening the log viewer.

To list the properties of an object, move the navigator object to it and use the following commands:

  • NVDA+Shift+LeftArrow or NVDA+Shift+RightArrow: select previous or next property and announce it for the navigator object.
  • NVDA+LeftArrow : Announce the navigator object's currently selected property.

The list of the supported properties is the following: name, role, state, value, windowClassName, windowControlID, windowHandle, location, Python class, Python class mro.

This feature is an improvement of NVDA developer guide example 3

If you have installed Speech history review and copying add-on from Tyler Spivey and James Scholes, you may use it to copy and paste the announced property to review it. Review via copy/paste is especially useful for pythonClassMRO since it may be long.

 

Extended script description mode

When the Extended script description mode is active, the input help mode (NVDA+1) is modified as follows. If a script has no description, the script's name and class are reported. If a script has a description, its description is reported as usual. The gesture to activate or deactivate this feature is NVDA+control+alt+D.

Executing a gesture bound to a script without description in input help mode also create an entry for this script in the gesture management dialog. This entry is located in a dedicated category called "Scripts without description (modify at your own risk!)". This allow to easily add, delete or change the native NVDA gestures for these script. Be aware however that it is often intended that such script do not have any description to prevent the user to modify the associated gesture. Indeed, the gesture may be defined to match an application shortcut key. For example the script script_toggleItalic on NVDAObjects.window.winword.WordDocument is bound to control+I and this should not be modified since the gesture is passed to the application to actually execute the shortcut key.

 

Usage example

Control+shift+I also toggle italic in Word, even if it is not natively reported by NVDA. To have the control+shift+I result reported by NVDA as control+I, you should perform the following steps:

  • Open a Word document.
  • Enable the extended script description mode with NVDA+control+alt+D.
  • Enter input help mode with NVDA+1.
  • Press control+I to report the italic script and have it added in the gesture dialog.
  • Exit input help mode with NVDA+1.
  • Open the input gestures dialog.
  • In the category "Scripts without description (modify at your own risk!)", select the command "toggleItalic on NVDAObjects.window.winword.WordDocument".
  • Add the control+shift+I shortcut and validate.
  • If you want, exit the extended script description mode with NVDA+control+alt+D.

Known bug: A script added for a specific class is visible even if gesture manager is opened in another context.

 

Log reading and analyzing commands

A log reader mode provides commands to ease log reading and analyzing. In the log viewer window the log reader is enabled by default, thus log reading commands are available immediately. In another text reading area such as an editor (e.g. Notepad++) or a webpage (e.g. GitHub issue), you need to press NVDA+control+alt+L to enable log reader mode and use its commands. When you are done with log reading and analyzing tasks, you can disable again NVDA+control+alt+L to disable the log reader mode.

The commands available in log reader mode are described hereafter.

 

Quick navigation commands

Single letter command similar to browse mode quick navigation keys allow to move to various type of log messages:

  • m: any message
  • e: ERROR
  • i: IO
  • d: DEBUG
  • f: INFO
  • g: DEBUGWARNING
  • w: WARNING

Pressing the single letter moves to the next occurrence of this message. Combining the letter with the shift key moves to the previous occurrence of this message.

 

Opening a file in your editor

When looking at a traceback, you may want to open one of the source files to understand the cause and the context of the issue. Press C to open the source code file corresponding to the current line of the traceback.

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

 

Python console extension

In the console, you can call the following function to view the source code that defines the variable myVar:
openCodeFile(myVar)

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

The openCodeFile functions can be called on objects defined in NVDA's code or on objects defined by add-ons. It cannot be called on objects whose source code is not available such as python builtins.

Below are examples of call in NVDA's code:

  • View the definition of the function speech.speech.speak:
    openCodeFile(speech.speech.speak)
  • View the definition of the class TextInfo:
    openCodeFile(textInfos.TextInfo)
  • View the definition of the method copyToClipboard of the class TextInfo:
    openCodeFile(textInfos.TextInfo.copyToClipboard)
  • View the class definition of the focused object:
    openCodeFile(focus)
  • Open the file api.py defining the module api:
    openCodeFile(api)

 

Log the stack trace of the speech function

Sometimes, you may want to see which part of the code is responsible for speaking something. For this, you can enable the stack trace logging of the speech function pressing NVDA+control+alt+S. Each time NVDA speaks, a corresponding stack trace will be logged in the log.

Note: You may modify the script's file directly to patch another function. See all instructions in the file for details on usage.

 

NVDA Debug & Test Tools configuration

The log reader commands and the python console extension feature may require a specific configuration. To use functions that allow to view source code in your editor, you should first configure your editor's command line. If NVDA's file need to be viewed and if you are not running from source, you also need to configure NVDA's source code path.

 

Editor's command line configuration

To use the 'open source code' command or the openCodeFile console command, you need first to configure the command that will be called to open the file in your favorite editor. For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['sourceFileOpener'] = r'"C:\path\to\my\editor\editor.exe" "{path}":{line}' You should of course modify this line according to the real name and location of your editor and the syntax used by it to open files. {path} will be replaced by the full path of the file to open and {line} by the line number where you want the cursor to be set. For Notepad++ for example the command to type in the console would be: config.conf['ndtt']['sourceFileOpener'] = r'"C:\Program Files\Notepad++\notepad++.exe" {path} -n{line}'

 

NVDA source code path configuration

When a file belonging to NVDA's core is listed in the traceback, the line is of the following form: File "config\profileUpgrader.pyc", line 30, in upgrade

If you are not running NVDA from source, you may specify an alternate location where the source file will be found, e.g. the place where you have cloned NVDA source files. In this case, you have to configure the path where you have NVDA source files located.

For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['nvdaSourcePath'] = r'C:\pathExample\GIT\nvda\source' Of course, replace the path of NVDA source with the correct one.

Be sure however that the version of your source file (e.g. GIT commit) is the same as the one of the running instance of NVDA.

 

Change log

 

Version 2.0

  • New feature: Enhanced restart dialog to specify some extra options when restarting NVDA.
  • New feature: extended description mode.
  • Play error sound feature harmonized between pre and post 2021.3 versions of NVDA.
  • New feature: Log reader commands are now available in the log viewer and also optionally in edit fields or webpages.
  • New feature: In the Python console, an openCodeFile function is available to view the source code of an object.
  • Some features are now disabled in secure mode for security reasons.
  • The add-on's compatibility range has been extended (from 2019.2 to 2021.1).
  • Releases are now performed with GitHub action instead of appVeyor.

 

Version 1.0

  • Initial release.

 

  •  


Luke Davis
 

Travis Roth wrote:

Hashtags?
The subject line has 15 hashtags, including two misspellings of #addonrelease.

Luke


Cyrille
 

Hi Noelia

According to people's feedback, i.e. if people think that this add-on can be useful, I will open a PR myself against addonFiles to request its integration in the community website.

Regarding the hashtags, I had only planned to put one of them. It seems that you have succeeded in removing them. Thanks!

Cheers,

Cyrille


On Fri, Jun 17, 2022 at 04:37 PM, Noelia Ruiz wrote:
Hi Cyrille:
 
I"ll look at this add-on and, if needed, I"ll open issues on GitHub.
PS: for any reason, your message appears with a lot of hashtags, maybe due to autocompletion tools or something. I"ll try to edit the subject since it"s anoying to read them.
Cheers

Enviado desde mi iPhone

El 18 jun 2022, a las 0:12, Cyrille via groups.io <cyrille.bougot2@...> escribió:

 

Hello all

I am glad to share with you my add-on NVDA Dev & Test Toolbox.
The documentation is under my signature.
Direct download link: https://github.com/CyrilleB79/NVDA-Dev-Test-Toolbox/releases/download/V2.0/nvdaDevTestToolbox-2.0.nvda-addon

The add-on is not totally new but I had never advertised so much about it. If you find some issue or want to make feedback, do not hesitate, replying to this message or on the GitHub repo.
I plan to submit it for the community website if it interests people. As the name indicates, the audience target for this add-on are people developing or testing NVDA or its add-ons.
Let me know what you think.

Cheers,

Cyrille

NVDA Dev & Test Toolbox

  • Author: Cyrille Bougot
  • NVDA compatibility: 2019.2 and beyond
  • Download stable version

This add-on gathers various features for NVDA debugging and testing.

 

Features

  • An enhanced restart dialog to specify some extra options when restarting NVDA.
  • A toggle script and a backport of NVDA's "Play a sound for logged errors" feature.
  • An object property explorer.
  • An extended script description mode: when enabled input help mode report information on scripts that have no description.
  • Commands to help log reading and analyzing.
  • In the Python console workspace, a function to open the source code of an object.
  • A command to log the stack trace of the speech.speak function.

 

Enhanced restart dialog

The NVDA+shift+Q command opens a dialog to specify some extra options before restarting NVDA. The options that can be specified correspond to the command line options that can be used with nvda.exe, e.g. -c for config path, --disable-addons to disable add-ons, etc.

 

Play a sound for logged errors

The "Play a sound for logged errors" setting has been introduced in NVDA 2021.3 and allows to specify if NVDA will play an error sound in case an error is logged.

This add-on provides an additional command (NVDA+control+alt+E) to toggle this setting. You can choose:

  • "Only in test versions" (default) to make NVDA play error sounds only if the current NVDA version is a test version (alpha, beta or run from source).
  • "Yes" to enable error sounds whatever your current NVDA version is.

For NVDA prior to 2021.3, this add-on provides the backport of this feature and the possibility to control it with the keyboard command. The checkbox in the Advanced settings panel is not backported however.

 

Object property explorer

This feature allows to report some properties of the current navigator object without opening the log viewer.

To list the properties of an object, move the navigator object to it and use the following commands:

  • NVDA+Shift+LeftArrow or NVDA+Shift+RightArrow: select previous or next property and announce it for the navigator object.
  • NVDA+LeftArrow : Announce the navigator object's currently selected property.

The list of the supported properties is the following: name, role, state, value, windowClassName, windowControlID, windowHandle, location, Python class, Python class mro.

This feature is an improvement of NVDA developer guide example 3

If you have installed Speech history review and copying add-on from Tyler Spivey and James Scholes, you may use it to copy and paste the announced property to review it. Review via copy/paste is especially useful for pythonClassMRO since it may be long.

 

Extended script description mode

When the Extended script description mode is active, the input help mode (NVDA+1) is modified as follows. If a script has no description, the script's name and class are reported. If a script has a description, its description is reported as usual. The gesture to activate or deactivate this feature is NVDA+control+alt+D.

Executing a gesture bound to a script without description in input help mode also create an entry for this script in the gesture management dialog. This entry is located in a dedicated category called "Scripts without description (modify at your own risk!)". This allow to easily add, delete or change the native NVDA gestures for these script. Be aware however that it is often intended that such script do not have any description to prevent the user to modify the associated gesture. Indeed, the gesture may be defined to match an application shortcut key. For example the script script_toggleItalic on NVDAObjects.window.winword.WordDocument is bound to control+I and this should not be modified since the gesture is passed to the application to actually execute the shortcut key.

 

Usage example

Control+shift+I also toggle italic in Word, even if it is not natively reported by NVDA. To have the control+shift+I result reported by NVDA as control+I, you should perform the following steps:

  • Open a Word document.
  • Enable the extended script description mode with NVDA+control+alt+D.
  • Enter input help mode with NVDA+1.
  • Press control+I to report the italic script and have it added in the gesture dialog.
  • Exit input help mode with NVDA+1.
  • Open the input gestures dialog.
  • In the category "Scripts without description (modify at your own risk!)", select the command "toggleItalic on NVDAObjects.window.winword.WordDocument".
  • Add the control+shift+I shortcut and validate.
  • If you want, exit the extended script description mode with NVDA+control+alt+D.

Known bug: A script added for a specific class is visible even if gesture manager is opened in another context.

 

Log reading and analyzing commands

A log reader mode provides commands to ease log reading and analyzing. In the log viewer window the log reader is enabled by default, thus log reading commands are available immediately. In another text reading area such as an editor (e.g. Notepad++) or a webpage (e.g. GitHub issue), you need to press NVDA+control+alt+L to enable log reader mode and use its commands. When you are done with log reading and analyzing tasks, you can disable again NVDA+control+alt+L to disable the log reader mode.

The commands available in log reader mode are described hereafter.

 

Quick navigation commands

Single letter command similar to browse mode quick navigation keys allow to move to various type of log messages:

  • m: any message
  • e: ERROR
  • i: IO
  • d: DEBUG
  • f: INFO
  • g: DEBUGWARNING
  • w: WARNING

Pressing the single letter moves to the next occurrence of this message. Combining the letter with the shift key moves to the previous occurrence of this message.

 

Opening a file in your editor

When looking at a traceback, you may want to open one of the source files to understand the cause and the context of the issue. Press C to open the source code file corresponding to the current line of the traceback.

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

 

Python console extension

In the console, you can call the following function to view the source code that defines the variable myVar:
openCodeFile(myVar)

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

The openCodeFile functions can be called on objects defined in NVDA's code or on objects defined by add-ons. It cannot be called on objects whose source code is not available such as python builtins.

Below are examples of call in NVDA's code:

  • View the definition of the function speech.speech.speak:
    openCodeFile(speech.speech.speak)
  • View the definition of the class TextInfo:
    openCodeFile(textInfos.TextInfo)
  • View the definition of the method copyToClipboard of the class TextInfo:
    openCodeFile(textInfos.TextInfo.copyToClipboard)
  • View the class definition of the focused object:
    openCodeFile(focus)
  • Open the file api.py defining the module api:
    openCodeFile(api)

 

Log the stack trace of the speech function

Sometimes, you may want to see which part of the code is responsible for speaking something. For this, you can enable the stack trace logging of the speech function pressing NVDA+control+alt+S. Each time NVDA speaks, a corresponding stack trace will be logged in the log.

Note: You may modify the script's file directly to patch another function. See all instructions in the file for details on usage.

 

NVDA Debug & Test Tools configuration

The log reader commands and the python console extension feature may require a specific configuration. To use functions that allow to view source code in your editor, you should first configure your editor's command line. If NVDA's file need to be viewed and if you are not running from source, you also need to configure NVDA's source code path.

 

Editor's command line configuration

To use the 'open source code' command or the openCodeFile console command, you need first to configure the command that will be called to open the file in your favorite editor. For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['sourceFileOpener'] = r'"C:\path\to\my\editor\editor.exe" "{path}":{line}' You should of course modify this line according to the real name and location of your editor and the syntax used by it to open files. {path} will be replaced by the full path of the file to open and {line} by the line number where you want the cursor to be set. For Notepad++ for example the command to type in the console would be: config.conf['ndtt']['sourceFileOpener'] = r'"C:\Program Files\Notepad++\notepad++.exe" {path} -n{line}'

 

NVDA source code path configuration

When a file belonging to NVDA's core is listed in the traceback, the line is of the following form: File "config\profileUpgrader.pyc", line 30, in upgrade

If you are not running NVDA from source, you may specify an alternate location where the source file will be found, e.g. the place where you have cloned NVDA source files. In this case, you have to configure the path where you have NVDA source files located.

For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['nvdaSourcePath'] = r'C:\pathExample\GIT\nvda\source' Of course, replace the path of NVDA source with the correct one.

Be sure however that the version of your source file (e.g. GIT commit) is the same as the one of the running instance of NVDA.

 

Change log

 

Version 2.0

  • New feature: Enhanced restart dialog to specify some extra options when restarting NVDA.
  • New feature: extended description mode.
  • Play error sound feature harmonized between pre and post 2021.3 versions of NVDA.
  • New feature: Log reader commands are now available in the log viewer and also optionally in edit fields or webpages.
  • New feature: In the Python console, an openCodeFile function is available to view the source code of an object.
  • Some features are now disabled in secure mode for security reasons.
  • The add-on's compatibility range has been extended (from 2019.2 to 2021.1).
  • Releases are now performed with GitHub action instead of appVeyor.

 

Version 1.0

  • Initial release.
 
  •  


Noelia Ruiz
 

Thanks Cyrille: About opening issues on GitHub, I wanted to mean on your GitHub repo, so you can track reviews there. Cheers

Enviado desde mi iPhone

El 18 jun 2022, a las 7:59, Cyrille via groups.io <cyrille.bougot2@...> escribió:

Hi Noelia

According to people's feedback, i.e. if people think that this add-on can be useful, I will open a PR myself against addonFiles to request its integration in the community website.

Regarding the hashtags, I had only planned to put one of them. It seems that you have succeeded in removing them. Thanks!

Cheers,

Cyrille


On Fri, Jun 17, 2022 at 04:37 PM, Noelia Ruiz wrote:
Hi Cyrille:
 
I"ll look at this add-on and, if needed, I"ll open issues on GitHub.
PS: for any reason, your message appears with a lot of hashtags, maybe due to autocompletion tools or something. I"ll try to edit the subject since it"s anoying to read them.
Cheers

Enviado desde mi iPhone

El 18 jun 2022, a las 0:12, Cyrille via groups.io <cyrille.bougot2@...> escribió:

 

Hello all

I am glad to share with you my add-on NVDA Dev & Test Toolbox.
The documentation is under my signature.
Direct download link: https://github.com/CyrilleB79/NVDA-Dev-Test-Toolbox/releases/download/V2.0/nvdaDevTestToolbox-2.0.nvda-addon

The add-on is not totally new but I had never advertised so much about it. If you find some issue or want to make feedback, do not hesitate, replying to this message or on the GitHub repo.
I plan to submit it for the community website if it interests people. As the name indicates, the audience target for this add-on are people developing or testing NVDA or its add-ons.
Let me know what you think.

Cheers,

Cyrille

NVDA Dev & Test Toolbox

  • Author: Cyrille Bougot
  • NVDA compatibility: 2019.2 and beyond
  • Download stable version

This add-on gathers various features for NVDA debugging and testing.

 

Features

  • An enhanced restart dialog to specify some extra options when restarting NVDA.
  • A toggle script and a backport of NVDA's "Play a sound for logged errors" feature.
  • An object property explorer.
  • An extended script description mode: when enabled input help mode report information on scripts that have no description.
  • Commands to help log reading and analyzing.
  • In the Python console workspace, a function to open the source code of an object.
  • A command to log the stack trace of the speech.speak function.

 

Enhanced restart dialog

The NVDA+shift+Q command opens a dialog to specify some extra options before restarting NVDA. The options that can be specified correspond to the command line options that can be used with nvda.exe, e.g. -c for config path, --disable-addons to disable add-ons, etc.

 

Play a sound for logged errors

The "Play a sound for logged errors" setting has been introduced in NVDA 2021.3 and allows to specify if NVDA will play an error sound in case an error is logged.

This add-on provides an additional command (NVDA+control+alt+E) to toggle this setting. You can choose:

  • "Only in test versions" (default) to make NVDA play error sounds only if the current NVDA version is a test version (alpha, beta or run from source).
  • "Yes" to enable error sounds whatever your current NVDA version is.

For NVDA prior to 2021.3, this add-on provides the backport of this feature and the possibility to control it with the keyboard command. The checkbox in the Advanced settings panel is not backported however.

 

Object property explorer

This feature allows to report some properties of the current navigator object without opening the log viewer.

To list the properties of an object, move the navigator object to it and use the following commands:

  • NVDA+Shift+LeftArrow or NVDA+Shift+RightArrow: select previous or next property and announce it for the navigator object.
  • NVDA+LeftArrow : Announce the navigator object's currently selected property.

The list of the supported properties is the following: name, role, state, value, windowClassName, windowControlID, windowHandle, location, Python class, Python class mro.

This feature is an improvement of NVDA developer guide example 3

If you have installed Speech history review and copying add-on from Tyler Spivey and James Scholes, you may use it to copy and paste the announced property to review it. Review via copy/paste is especially useful for pythonClassMRO since it may be long.

 

Extended script description mode

When the Extended script description mode is active, the input help mode (NVDA+1) is modified as follows. If a script has no description, the script's name and class are reported. If a script has a description, its description is reported as usual. The gesture to activate or deactivate this feature is NVDA+control+alt+D.

Executing a gesture bound to a script without description in input help mode also create an entry for this script in the gesture management dialog. This entry is located in a dedicated category called "Scripts without description (modify at your own risk!)". This allow to easily add, delete or change the native NVDA gestures for these script. Be aware however that it is often intended that such script do not have any description to prevent the user to modify the associated gesture. Indeed, the gesture may be defined to match an application shortcut key. For example the script script_toggleItalic on NVDAObjects.window.winword.WordDocument is bound to control+I and this should not be modified since the gesture is passed to the application to actually execute the shortcut key.

 

Usage example

Control+shift+I also toggle italic in Word, even if it is not natively reported by NVDA. To have the control+shift+I result reported by NVDA as control+I, you should perform the following steps:

  • Open a Word document.
  • Enable the extended script description mode with NVDA+control+alt+D.
  • Enter input help mode with NVDA+1.
  • Press control+I to report the italic script and have it added in the gesture dialog.
  • Exit input help mode with NVDA+1.
  • Open the input gestures dialog.
  • In the category "Scripts without description (modify at your own risk!)", select the command "toggleItalic on NVDAObjects.window.winword.WordDocument".
  • Add the control+shift+I shortcut and validate.
  • If you want, exit the extended script description mode with NVDA+control+alt+D.

Known bug: A script added for a specific class is visible even if gesture manager is opened in another context.

 

Log reading and analyzing commands

A log reader mode provides commands to ease log reading and analyzing. In the log viewer window the log reader is enabled by default, thus log reading commands are available immediately. In another text reading area such as an editor (e.g. Notepad++) or a webpage (e.g. GitHub issue), you need to press NVDA+control+alt+L to enable log reader mode and use its commands. When you are done with log reading and analyzing tasks, you can disable again NVDA+control+alt+L to disable the log reader mode.

The commands available in log reader mode are described hereafter.

 

Quick navigation commands

Single letter command similar to browse mode quick navigation keys allow to move to various type of log messages:

  • m: any message
  • e: ERROR
  • i: IO
  • d: DEBUG
  • f: INFO
  • g: DEBUGWARNING
  • w: WARNING

Pressing the single letter moves to the next occurrence of this message. Combining the letter with the shift key moves to the previous occurrence of this message.

 

Opening a file in your editor

When looking at a traceback, you may want to open one of the source files to understand the cause and the context of the issue. Press C to open the source code file corresponding to the current line of the traceback.

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

 

Python console extension

In the console, you can call the following function to view the source code that defines the variable myVar:
openCodeFile(myVar)

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

The openCodeFile functions can be called on objects defined in NVDA's code or on objects defined by add-ons. It cannot be called on objects whose source code is not available such as python builtins.

Below are examples of call in NVDA's code:

  • View the definition of the function speech.speech.speak:
    openCodeFile(speech.speech.speak)
  • View the definition of the class TextInfo:
    openCodeFile(textInfos.TextInfo)
  • View the definition of the method copyToClipboard of the class TextInfo:
    openCodeFile(textInfos.TextInfo.copyToClipboard)
  • View the class definition of the focused object:
    openCodeFile(focus)
  • Open the file api.py defining the module api:
    openCodeFile(api)

 

Log the stack trace of the speech function

Sometimes, you may want to see which part of the code is responsible for speaking something. For this, you can enable the stack trace logging of the speech function pressing NVDA+control+alt+S. Each time NVDA speaks, a corresponding stack trace will be logged in the log.

Note: You may modify the script's file directly to patch another function. See all instructions in the file for details on usage.

 

NVDA Debug & Test Tools configuration

The log reader commands and the python console extension feature may require a specific configuration. To use functions that allow to view source code in your editor, you should first configure your editor's command line. If NVDA's file need to be viewed and if you are not running from source, you also need to configure NVDA's source code path.

 

Editor's command line configuration

To use the 'open source code' command or the openCodeFile console command, you need first to configure the command that will be called to open the file in your favorite editor. For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['sourceFileOpener'] = r'"C:\path\to\my\editor\editor.exe" "{path}":{line}' You should of course modify this line according to the real name and location of your editor and the syntax used by it to open files. {path} will be replaced by the full path of the file to open and {line} by the line number where you want the cursor to be set. For Notepad++ for example the command to type in the console would be: config.conf['ndtt']['sourceFileOpener'] = r'"C:\Program Files\Notepad++\notepad++.exe" {path} -n{line}'

 

NVDA source code path configuration

When a file belonging to NVDA's core is listed in the traceback, the line is of the following form: File "config\profileUpgrader.pyc", line 30, in upgrade

If you are not running NVDA from source, you may specify an alternate location where the source file will be found, e.g. the place where you have cloned NVDA source files. In this case, you have to configure the path where you have NVDA source files located.

For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['nvdaSourcePath'] = r'C:\pathExample\GIT\nvda\source' Of course, replace the path of NVDA source with the correct one.

Be sure however that the version of your source file (e.g. GIT commit) is the same as the one of the running instance of NVDA.

 

Change log

 

Version 2.0

  • New feature: Enhanced restart dialog to specify some extra options when restarting NVDA.
  • New feature: extended description mode.
  • Play error sound feature harmonized between pre and post 2021.3 versions of NVDA.
  • New feature: Log reader commands are now available in the log viewer and also optionally in edit fields or webpages.
  • New feature: In the Python console, an openCodeFile function is available to view the source code of an object.
  • Some features are now disabled in secure mode for security reasons.
  • The add-on's compatibility range has been extended (from 2019.2 to 2021.1).
  • Releases are now performed with GitHub action instead of appVeyor.

 

Version 1.0

  • Initial release.
 
  •  


Akash Kakkar
 

Really a fantastic addon.

Kudos for this to you bro, really amazing.

Will be very useful for me

On 6/18/2022 3:42 AM, Cyrille via groups.io wrote:
 

Hello all

I am glad to share with you my add-on NVDA Dev & Test Toolbox.
The documentation is under my signature.
Direct download link: https://github.com/CyrilleB79/NVDA-Dev-Test-Toolbox/releases/download/V2.0/nvdaDevTestToolbox-2.0.nvda-addon

The add-on is not totally new but I had never advertised so much about it. If you find some issue or want to make feedback, do not hesitate, replying to this message or on the GitHub repo.
I plan to submit it for the community website if it interests people. As the name indicates, the audience target for this add-on are people developing or testing NVDA or its add-ons.
Let me know what you think.

Cheers,

Cyrille

NVDA Dev & Test Toolbox

  • Author: Cyrille Bougot
  • NVDA compatibility: 2019.2 and beyond
  • Download stable version

This add-on gathers various features for NVDA debugging and testing.

 

Features

  • An enhanced restart dialog to specify some extra options when restarting NVDA.
  • A toggle script and a backport of NVDA's "Play a sound for logged errors" feature.
  • An object property explorer.
  • An extended script description mode: when enabled input help mode report information on scripts that have no description.
  • Commands to help log reading and analyzing.
  • In the Python console workspace, a function to open the source code of an object.
  • A command to log the stack trace of the speech.speak function.

 

Enhanced restart dialog

The NVDA+shift+Q command opens a dialog to specify some extra options before restarting NVDA. The options that can be specified correspond to the command line options that can be used with nvda.exe, e.g. -c for config path, --disable-addons to disable add-ons, etc.

 

Play a sound for logged errors

The "Play a sound for logged errors" setting has been introduced in NVDA 2021.3 and allows to specify if NVDA will play an error sound in case an error is logged.

This add-on provides an additional command (NVDA+control+alt+E) to toggle this setting. You can choose:

  • "Only in test versions" (default) to make NVDA play error sounds only if the current NVDA version is a test version (alpha, beta or run from source).
  • "Yes" to enable error sounds whatever your current NVDA version is.

For NVDA prior to 2021.3, this add-on provides the backport of this feature and the possibility to control it with the keyboard command. The checkbox in the Advanced settings panel is not backported however.

 

Object property explorer

This feature allows to report some properties of the current navigator object without opening the log viewer.

To list the properties of an object, move the navigator object to it and use the following commands:

  • NVDA+Shift+LeftArrow or NVDA+Shift+RightArrow: select previous or next property and announce it for the navigator object.
  • NVDA+LeftArrow : Announce the navigator object's currently selected property.

The list of the supported properties is the following: name, role, state, value, windowClassName, windowControlID, windowHandle, location, Python class, Python class mro.

This feature is an improvement of NVDA developer guide example 3

If you have installed Speech history review and copying add-on from Tyler Spivey and James Scholes, you may use it to copy and paste the announced property to review it. Review via copy/paste is especially useful for pythonClassMRO since it may be long.

 

Extended script description mode

When the Extended script description mode is active, the input help mode (NVDA+1) is modified as follows. If a script has no description, the script's name and class are reported. If a script has a description, its description is reported as usual. The gesture to activate or deactivate this feature is NVDA+control+alt+D.

Executing a gesture bound to a script without description in input help mode also create an entry for this script in the gesture management dialog. This entry is located in a dedicated category called "Scripts without description (modify at your own risk!)". This allow to easily add, delete or change the native NVDA gestures for these script. Be aware however that it is often intended that such script do not have any description to prevent the user to modify the associated gesture. Indeed, the gesture may be defined to match an application shortcut key. For example the script script_toggleItalic on NVDAObjects.window.winword.WordDocument is bound to control+I and this should not be modified since the gesture is passed to the application to actually execute the shortcut key.

 

Usage example

Control+shift+I also toggle italic in Word, even if it is not natively reported by NVDA. To have the control+shift+I result reported by NVDA as control+I, you should perform the following steps:

  • Open a Word document.
  • Enable the extended script description mode with NVDA+control+alt+D.
  • Enter input help mode with NVDA+1.
  • Press control+I to report the italic script and have it added in the gesture dialog.
  • Exit input help mode with NVDA+1.
  • Open the input gestures dialog.
  • In the category "Scripts without description (modify at your own risk!)", select the command "toggleItalic on NVDAObjects.window.winword.WordDocument".
  • Add the control+shift+I shortcut and validate.
  • If you want, exit the extended script description mode with NVDA+control+alt+D.

Known bug: A script added for a specific class is visible even if gesture manager is opened in another context.

 

Log reading and analyzing commands

A log reader mode provides commands to ease log reading and analyzing. In the log viewer window the log reader is enabled by default, thus log reading commands are available immediately. In another text reading area such as an editor (e.g. Notepad++) or a webpage (e.g. GitHub issue), you need to press NVDA+control+alt+L to enable log reader mode and use its commands. When you are done with log reading and analyzing tasks, you can disable again NVDA+control+alt+L to disable the log reader mode.

The commands available in log reader mode are described hereafter.

 

Quick navigation commands

Single letter command similar to browse mode quick navigation keys allow to move to various type of log messages:

  • m: any message
  • e: ERROR
  • i: IO
  • d: DEBUG
  • f: INFO
  • g: DEBUGWARNING
  • w: WARNING

Pressing the single letter moves to the next occurrence of this message. Combining the letter with the shift key moves to the previous occurrence of this message.

 

Opening a file in your editor

When looking at a traceback, you may want to open one of the source files to understand the cause and the context of the issue. Press C to open the source code file corresponding to the current line of the traceback.

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

 

Python console extension

In the console, you can call the following function to view the source code that defines the variable myVar:
openCodeFile(myVar)

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

The openCodeFile functions can be called on objects defined in NVDA's code or on objects defined by add-ons. It cannot be called on objects whose source code is not available such as python builtins.

Below are examples of call in NVDA's code:

  • View the definition of the function speech.speech.speak:
    openCodeFile(speech.speech.speak)
  • View the definition of the class TextInfo:
    openCodeFile(textInfos.TextInfo)
  • View the definition of the method copyToClipboard of the class TextInfo:
    openCodeFile(textInfos.TextInfo.copyToClipboard)
  • View the class definition of the focused object:
    openCodeFile(focus)
  • Open the file api.py defining the module api:
    openCodeFile(api)

 

Log the stack trace of the speech function

Sometimes, you may want to see which part of the code is responsible for speaking something. For this, you can enable the stack trace logging of the speech function pressing NVDA+control+alt+S. Each time NVDA speaks, a corresponding stack trace will be logged in the log.

Note: You may modify the script's file directly to patch another function. See all instructions in the file for details on usage.

 

NVDA Debug & Test Tools configuration

The log reader commands and the python console extension feature may require a specific configuration. To use functions that allow to view source code in your editor, you should first configure your editor's command line. If NVDA's file need to be viewed and if you are not running from source, you also need to configure NVDA's source code path.

 

Editor's command line configuration

To use the 'open source code' command or the openCodeFile console command, you need first to configure the command that will be called to open the file in your favorite editor. For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['sourceFileOpener'] = r'"C:\path\to\my\editor\editor.exe" "{path}":{line}' You should of course modify this line according to the real name and location of your editor and the syntax used by it to open files. {path} will be replaced by the full path of the file to open and {line} by the line number where you want the cursor to be set. For Notepad++ for example the command to type in the console would be: config.conf['ndtt']['sourceFileOpener'] = r'"C:\Program Files\Notepad++\notepad++.exe" {path} -n{line}'

 

NVDA source code path configuration

When a file belonging to NVDA's core is listed in the traceback, the line is of the following form: File "config\profileUpgrader.pyc", line 30, in upgrade

If you are not running NVDA from source, you may specify an alternate location where the source file will be found, e.g. the place where you have cloned NVDA source files. In this case, you have to configure the path where you have NVDA source files located.

For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['nvdaSourcePath'] = r'C:\pathExample\GIT\nvda\source' Of course, replace the path of NVDA source with the correct one.

Be sure however that the version of your source file (e.g. GIT commit) is the same as the one of the running instance of NVDA.

 

Change log

 

Version 2.0

  • New feature: Enhanced restart dialog to specify some extra options when restarting NVDA.
  • New feature: extended description mode.
  • Play error sound feature harmonized between pre and post 2021.3 versions of NVDA.
  • New feature: Log reader commands are now available in the log viewer and also optionally in edit fields or webpages.
  • New feature: In the Python console, an openCodeFile function is available to view the source code of an object.
  • Some features are now disabled in secure mode for security reasons.
  • The add-on's compatibility range has been extended (from 2019.2 to 2021.1).
  • Releases are now performed with GitHub action instead of appVeyor.

 

Version 1.0

  • Initial release.
 
  •  


Brian's Mail list account
 

and I never saw any of them!

Guess it depends on settings in the reader.
Brian

--
bglists@...
Sent via blueyonder.(Virgin media)
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.

----- Original Message -----
From: "Travis Roth" <travis@...>
To: <nvda-addons@nvda-addons.groups.io>
Sent: Saturday, June 18, 2022 2:29 AM
Subject: Re: [nvda-addons] NVDA Dev & Test Toolbox #addon #add-on #addonregistration #addonrelase #addonrelease #addonrelesae #addonrelese #addonrequest #addonrequestreview #addonreview #addon-review #addonreviewrequest #addons #addonsgithuborganization #addontest


Hashtags?

Cyrille’s message with the documentation is in excellent condition for me with nice formatting even.

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Noelia Ruiz
Sent: Friday, June 17, 2022 6:38 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] NVDA Dev & Test Toolbox #addon #add-on #addonregistration #addonrelase #addonrelease #addonrelesae #addonrelese #addonrequest #addonrequestreview #addonreview #addon-review #addonreviewrequest #addons #addonsgithuborganization #addontest



Hi Cyrille:



I"ll look at this add-on and, if needed, I"ll open issues on GitHub.

PS: for any reason, your message appears with a lot of hashtags, maybe due to autocompletion tools or something. I"ll try to edit the subject since it"s anoying to read them.

Cheers

Enviado desde mi iPhone





El 18 jun 2022, a las 0:12, Cyrille via groups.io <cyrille.bougot2@... <mailto:cyrille.bougot2@...> > escribió:





Hello all

I am glad to share with you my add-on NVDA Dev & Test Toolbox.
The documentation is under my signature.
Direct download link: https://github.com/CyrilleB79/NVDA-Dev-Test-Toolbox/releases/download/V2.0/nvdaDevTestToolbox-2.0.nvda-addon

The add-on is not totally new but I had never advertised so much about it. If you find some issue or want to make feedback, do not hesitate, replying to this message or on the GitHub repo <https://github.com/CyrilleB79/NVDA-Dev-Test-Toolbox> .
I plan to submit it for the community website if it interests people. As the name indicates, the audience target for this add-on are people developing or testing NVDA or its add-ons.
Let me know what you think.

Cheers,

Cyrille


NVDA Dev & Test Toolbox


* Author: Cyrille Bougot
* NVDA compatibility: 2019.2 and beyond
* Download stable version <https://addons.nvda-project.org/files/get.php?file=ndtt>

This add-on gathers various features for NVDA debugging and testing.





Features


* An enhanced restart dialog to specify some extra options when restarting NVDA.
* A toggle script and a backport of NVDA's "Play a sound for logged errors" feature.
* An object property explorer.
* An extended script description mode: when enabled input help mode report information on scripts that have no description.
* Commands to help log reading and analyzing.
* In the Python console workspace, a function to open the source code of an object.
* A command to log the stack trace of the speech.speak function.





Enhanced restart dialog


The NVDA+shift+Q command opens a dialog to specify some extra options before restarting NVDA. The options that can be specified correspond to the command line options <https://www.nvaccess.org/files/nvda/documentation/userGuide.html#CommandLineOptions> that can be used with nvda.exe, e.g. -c for config path, --disable-addons to disable add-ons, etc.





Play a sound for logged errors


The <https://www.nvaccess.org/files/nvda/documentation/userGuide.html#PlayErrorSound> "Play a sound for logged errors" setting has been introduced in NVDA 2021.3 and allows to specify if NVDA will play an error sound in case an error is logged.

This add-on provides an additional command (NVDA+control+alt+E) to toggle this setting. You can choose:

* "Only in test versions" (default) to make NVDA play error sounds only if the current NVDA version is a test version (alpha, beta or run from source).
* "Yes" to enable error sounds whatever your current NVDA version is.

For NVDA prior to 2021.3, this add-on provides the backport of this feature and the possibility to control it with the keyboard command. The checkbox in the Advanced settings panel is not backported however.





Object property explorer


This feature allows to report some properties of the current navigator object without opening the log viewer.

To list the properties of an object, move the navigator object to it and use the following commands:

* NVDA+Shift+LeftArrow or NVDA+Shift+RightArrow: select previous or next property and announce it for the navigator object.
* NVDA+LeftArrow : Announce the navigator object's currently selected property.

The list of the supported properties is the following: name, role, state, value, windowClassName, windowControlID, windowHandle, location, Python class, Python class mro.

This feature is an improvement of NVDA developer guide <https://www.nvaccess.org/files/nvda/documentation/userGuide.html#CommandLineOptions> example 3

If you have installed Speech history review and copying <https://addons.nvda-project.org/addons/speech_history.en.html> add-on from Tyler Spivey and James Scholes, you may use it to copy and paste the announced property to review it. Review via copy/paste is especially useful for pythonClassMRO since it may be long.





Extended script description mode


When the Extended script description mode is active, the input help mode (NVDA+1) is modified as follows. If a script has no description, the script's name and class are reported. If a script has a description, its description is reported as usual. The gesture to activate or deactivate this feature is NVDA+control+alt+D.

Executing a gesture bound to a script without description in input help mode also create an entry for this script in the gesture management dialog. This entry is located in a dedicated category called "Scripts without description (modify at your own risk!)". This allow to easily add, delete or change the native NVDA gestures for these script. Be aware however that it is often intended that such script do not have any description to prevent the user to modify the associated gesture. Indeed, the gesture may be defined to match an application shortcut key. For example the script script_toggleItalic on NVDAObjects.window.winword.WordDocument is bound to control+I and this should not be modified since the gesture is passed to the application to actually execute the shortcut key.





Usage example


Control+shift+I also toggle italic in Word, even if it is not natively reported by NVDA. To have the control+shift+I result reported by NVDA as control+I, you should perform the following steps:

* Open a Word document.
* Enable the extended script description mode with NVDA+control+alt+D.
* Enter input help mode with NVDA+1.
* Press control+I to report the italic script and have it added in the gesture dialog.
* Exit input help mode with NVDA+1.
* Open the input gestures dialog.
* In the category "Scripts without description (modify at your own risk!)", select the command "toggleItalic on NVDAObjects.window.winword.WordDocument".
* Add the control+shift+I shortcut and validate.
* If you want, exit the extended script description mode with NVDA+control+alt+D.

Known bug: A script added for a specific class is visible even if gesture manager is opened in another context.





Log reading and analyzing commands


A log reader mode provides commands to ease log reading and analyzing. In the log viewer window the log reader is enabled by default, thus log reading commands are available immediately. In another text reading area such as an editor (e.g. Notepad++) or a webpage (e.g. GitHub issue), you need to press NVDA+control+alt+L to enable log reader mode and use its commands. When you are done with log reading and analyzing tasks, you can disable again NVDA+control+alt+L to disable the log reader mode.

The commands available in log reader mode are described hereafter.





Quick navigation commands


Single letter command similar to browse mode quick navigation keys allow to move to various type of log messages:

* m: any message
* e: ERROR
* i: IO
* d: DEBUG
* f: INFO
* g: DEBUGWARNING
* w: WARNING

Pressing the single letter moves to the next occurrence of this message. Combining the letter with the shift key moves to the previous occurrence of this message.





Opening a file in your editor


When looking at a traceback, you may want to open one of the source files to understand the cause and the context of the issue. Press C to open the source code file corresponding to the current line of the traceback.

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.





Python console extension


In the console, you can call the following function to view the source code that defines the variable myVar:
openCodeFile(myVar)

For this feature to work, you need to have configured your favorite editor's command. If you are not running NVDA from source, the location of NVDA source code also should have been configured. For more details regarding the configuration, please see the paragraph NVDA Debug & Test Tools configuration.

The openCodeFile functions can be called on objects defined in NVDA's code or on objects defined by add-ons. It cannot be called on objects whose source code is not available such as python builtins.

Below are examples of call in NVDA's code:

* View the definition of the function speech.speech.speak:
openCodeFile(speech.speech.speak)
* View the definition of the class TextInfo:
openCodeFile(textInfos.TextInfo)
* View the definition of the method copyToClipboard of the class TextInfo:
openCodeFile(textInfos.TextInfo.copyToClipboard)
* View the class definition of the focused object:
openCodeFile(focus)
* Open the file api.py defining the module api:
openCodeFile(api)





Log the stack trace of the speech function


Sometimes, you may want to see which part of the code is responsible for speaking something. For this, you can enable the stack trace logging of the speech function pressing NVDA+control+alt+S. Each time NVDA speaks, a corresponding stack trace will be logged in the log.

Note: You may modify the script's file directly to patch another function. See all instructions in the file for details on usage.





NVDA Debug & Test Tools configuration


The log reader commands and the python console extension feature may require a specific configuration. To use functions that allow to view source code in your editor, you should first configure your editor's command line. If NVDA's file need to be viewed and if you are not running from source, you also need to configure NVDA's source code path.





Editor's command line configuration


To use the 'open source code' command or the openCodeFile console command, you need first to configure the command that will be called to open the file in your favorite editor. For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['sourceFileOpener'] = r'"C:\path\to\my\editor\editor.exe" "{path}":{line}' You should of course modify this line according to the real name and location of your editor and the syntax used by it to open files. {path} will be replaced by the full path of the file to open and {line} by the line number where you want the cursor to be set. For Notepad++ for example the command to type in the console would be: config.conf['ndtt']['sourceFileOpener'] = r'"C:\Program Files\Notepad++\notepad++.exe" {path} -n{line}'





NVDA source code path configuration


When a file belonging to NVDA's core is listed in the traceback, the line is of the following form: File "config\profileUpgrader.pyc", line 30, in upgrade

If you are not running NVDA from source, you may specify an alternate location where the source file will be found, e.g. the place where you have cloned NVDA source files. In this case, you have to configure the path where you have NVDA source files located.

For this, open the NVDA console (NVDA+control+Z) and type the following line and then Enter: config.conf['ndtt']['nvdaSourcePath'] = r'C:\pathExample\GIT\nvda\source' Of course, replace the path of NVDA source with the correct one.

Be sure however that the version of your source file (e.g. GIT commit) is the same as the one of the running instance of NVDA.





Change log





Version 2.0


* New feature: Enhanced restart dialog to specify some extra options when restarting NVDA.
* New feature: extended description mode.
* Play error sound feature harmonized between pre and post 2021.3 versions of NVDA.
* New feature: Log reader commands are now available in the log viewer and also optionally in edit fields or webpages.
* New feature: In the Python console, an openCodeFile function is available to view the source code of an object.
* Some features are now disabled in secure mode for security reasons.
* The add-on's compatibility range has been extended (from 2019.2 to 2021.1).
* Releases are now performed with GitHub action instead of appVeyor.





Version 1.0


* Initial release.



*


Luke Davis
 

Cyrille via groups.io wrote:

According to people's feedback, i.e. if people think that this add-on can be useful, I will open a PR myself against addonFiles to request its integration
in the community website.
Please do. I have not installed it yet, but based on its description I will be definitely installing it soon.

I have an add-on called Debug Helper, then renamed to Dev Helper, for which I had some similar plans, but not nearly so extensive. I got off on other projects, and never developed it to where I wanted.

I had decided that I would probably discontinue that one rather than work on it further, and seeing this one of yours has confirmed that decision.

I look forward to using Dev & Test Toolbox, and hope you do decide to submit to the community site.

Luke


Lukasz Golonka
 

Cyrille,

Many thanks for making this very useful add-on more official than it was!
While I'm using some parts of it pretty regularly I never had time to
look at the code, or to familiarize myself with all its features. Some
review points below:

- In the beepError file you may consider using globalVars.appDir if it
is defined when creating path to the error sound. That would allow
people on never versions of NVDA who are using Ivona SAPI voices (they
tent to change CWD when loading them for the first time) to have the
sound played.
- in the myHandle function there is unnecessary import of api
- in the fileOpener when retrieving path to the nVDA source, and when
user is running a source build you're setting the path to
globalVars.appDir even for versions of NVDA where it is not yet
implemented. An alternative approach which would handle the case where
CWD has been changed to something silly would be to return
__main__.__file__ in such case.
- In the logReader classes such as LogMessageHeader and LogMessage don't
inherit from object - this causes them to be old style classes under
Python 2. While I cannot point out any real issues due to this in code
which targets both Python 2 and 3 it is better to inherit from object
explicitly.
- In the makeFromTextInfo method you're raising NotImplemented instead of
NotImplementedError - this is a common Python gotcha NotImplemented
cannot be raised it is a singleton returned when the given class does not
support a particular arithmetic operation on the provided argument.
- Not an error as such but when checking if the given window is the log
viewer you can avoid comparing window names by checking if the window
handle equals gui.logViewer.logViewer.GetHandle() (don't forget to
handle the case where log viewer is not yet initialized or closed).
- It is unclear to me why you're setting directory to None in the
restartWithOptions for Python 2 versions of NVDA, so a comment in code
here would be nice to have.
- The design of the restartWithOptions is... shall we say, suboptimal:
- The OPTION-LIST would greatly benefit from usages of named tuples, so
that you do not need to remember what indexes for the given suboptions
are
- Since each option has a type of allowed values you may avoid these
extended isinstance checks, implement a method called createControls or
similar for each of the classes such as FolderStr, and use polymorphism
to create the control for each of the options.
- If the default value is neither FolderStr nor FileStr you're using a
bare raise statement effectively throwing whatever exception would be
returned by sys.exc_info at this point - that is almost certainly not
what you want to do - when I've done this for testing I got exception
from the touchHandler as my machine is not touch capable.
- In the script_toggleStackTraceLog _originalFunction does not need to
be defined as global
- While certainly not something to implement for this version it would
be interesting to introduce a gui for specifying what function should be
patched for stack tracing.
- I have some reservations about the way in which compatibility for
controlTypes is handled. Essentially it is never a good idea to modify
the original module with the new code unless you have to monkey patch it.
Additionally more and more add-ons seems to add their own implementation
of controlTypes.Role and controlTypes.State and it is only a matter of
time when, depending on the order in which add-ons are loaded some
implementation becomes incompatible with whatever the next add-on
decided to implement causing no end of troubles. For an alternative,
much safer, implementation, you can take a look at my add-on for Becky!
in particular class ControlTypesCompatWrapper. It does not support
output reasons, but adding them should be trivial.


--
Regards
Lukasz


Cyrille
 

Hi all

Thanks for the feedback.
Since the add-on seems to interest at least a few people, I will definitely ask its inclusion on the community website.
Beforehand, I have to take into account some of the remarks; special thanks to Lukasz for all these points with details.

Some other points will be included later, e.g. the GUI to choose the function to patch that I had already in mind.

Cheers,

Cyrille


Noelia Ruiz
 

Hi Cyrille, thanks for including this add-on on the website.
In case you don't receive GitHub notifications for issues, I inform
you here: I've created three issues on your GitHub repo.
Cheers

2022-06-18 23:30 GMT+02:00, Cyrille via groups.io
<cyrille.bougot2@...>:

Hi all

Thanks for the feedback.
Since the add-on seems to interest at least a few people, I will definitely
ask its inclusion on the community website.
Beforehand, I have to take into account some of the remarks; special thanks
to Lukasz for all these points with details.

Some other points will be included later, e.g. the GUI to choose the
function to patch that I had already in mind.

Cheers,

Cyrille






Cyrille
 

Hi all

The release 2.1 of NVDA Debug & Test Toolbox add-on is out.

Thanks to all for the review, the suggestions and the contributions.

Direct download link:
https://github.com/CyrilleB79/NVDA-Dev-Test-Toolbox/releases/download/V2.1/nvdaDevTestToolbox-2.1.nvda-addon

Change log:
• Various bugfixes and code refactoring/cleaning to address all use cases: all supported versions, installed vs. run from source, etc. (contribution from Łukasz Golonka)
• Rewriting of the compa module (contribution from Łukasz Golonka)
• The restart dialog can now be opened only once.
• The object explorer shortcuts are now unassigned by default and need to be mapped by the user.
• With the object explorer, a double-press to call the script to report the current object's property now displays the reported information in a browseable message.

If no issue is found, I in this version, I will submit it for the community website.
Note that some suggestions made during this review have not yet been implemented and are logged as issues in the add-on's repository.

Cheers,

Cyrille

 


Ângelo Abrantes
 

HI,

Do you think you prepare this work to be translated?

Thanks

Ângelo Abrantes, NVDA portuguese team.

Às 15:42 de 17-07-2022, Cyrille via groups.io escreveu:
Hi all

The release 2.1 of NVDA Debug & Test Toolbox add-on is out.

Thanks to all for the review, the suggestions and the contributions.

Direct download link:
https://github.com/CyrilleB79/NVDA-Dev-Test-Toolbox/releases/download/V2.1/nvdaDevTestToolbox-2.1.nvda-addon

Change log:
• Various bugfixes and code refactoring/cleaning to address all use cases: all supported versions, installed vs. run from source, etc. (contribution from Łukasz Golonka)
• Rewriting of the compa module (contribution from Łukasz Golonka)
• The restart dialog can now be opened only once.
• The object explorer shortcuts are now unassigned by default and need to be mapped by the user.
• With the object explorer, a double-press to call the script to report the current object's property now displays the reported information in a browseable message.

If no issue is found, I in this version, I will submit it for the community website.
Note that some suggestions made during this review have not yet been implemented and are logged as issues in the add-on's repository.

Cheers,

Cyrille

 
-- 
Cordiais Cumprimentos
Ângelo Abrantes, Equipa <Portuguesa do NVDA



Avast logo

Este e-mail foi verificado em termos de vírus pelo software antivírus Avast.
www.avast.com



Cyrille
 

Hi Ângelo

Thanks of your interest.

In any case, I first need to release this on the community website.

But I should admit that I had not planned to have it translated in the first time, since this add-on mainly target developers and testers; and I expect this public to understand English, at least roughly.
However I remain opened to any suggestion. If you (or other people) think that this add-on should be translated, please let me know and elaborate why.

Many thanks.
Cheers,

Cyrille


On Sun, Jul 17, 2022 at 10:10 PM, Ângelo Abrantes wrote:

HI,

Do you think you prepare this work to be translated?

Thanks

Ângelo Abrantes, NVDA portuguese team.

Às 15:42 de 17-07-2022, Cyrille via groups.io escreveu:
Hi all

The release 2.1 of NVDA Debug & Test Toolbox add-on is out.

Thanks to all for the review, the suggestions and the contributions.

Direct download link:
https://github.com/CyrilleB79/NVDA-Dev-Test-Toolbox/releases/download/V2.1/nvdaDevTestToolbox-2.1.nvda-addon

Change log:
• Various bugfixes and code refactoring/cleaning to address all use cases: all supported versions, installed vs. run from source, etc. (contribution from Łukasz Golonka)
• Rewriting of the compa module (contribution from Łukasz Golonka)
• The restart dialog can now be opened only once.
• The object explorer shortcuts are now unassigned by default and need to be mapped by the user.
• With the object explorer, a double-press to call the script to report the current object's property now displays the reported information in a browseable message.

If no issue is found, I in this version, I will submit it for the community website.
Note that some suggestions made during this review have not yet been implemented and are logged as issues in the add-on's repository.

Cheers,

Cyrille

 
-- 
Cordiais Cumprimentos
Ângelo Abrantes, Equipa <Portuguesa do NVDA



Avast logo

Este e-mail foi verificado em termos de vírus pelo software antivírus Avast.
www.avast.com