Date   

Question about writing AppModule for band-in-a-box

Rich Caloggero
 

I would like to make a stab at Band-in-a-box. There are some excellent jaws scripts out there, but nothing I've found for NVDA.


It is a hugely busy UI, and much of it seems to be visual fluff, but I think getting the very basics of the chord chart working and a couple of key dialogs like the style picker would be possible.


My question: is there a way to pause the AppModule thread for some amount of time? I believe I'm seeing some issues where I'm trying to read some text with NVDAObject.basicText, and am getting lots of extraneous stuff which might be due to the UI updating as I'm querying it.


Thanx for any info / advice.


-- Rich


Re: Add-on Template: latest happenings

Andy B.
 

It doesn’t look like Developer toolkit will opt into flake8 anytime soon. I have features that take priority over formatting styles right now.

 

 

Sent from Mail for Windows 10

 

From: Joseph Lee
Sent: Tuesday, May 5, 2020 4:19 AM
To: nvda-addons@nvda-addons.groups.io
Subject: [nvda-devel] Add-on Template: latest happenings

 

Hi all,

 

Some important edits were made to community add-on template (source code: https://github.com/nvdaaddons/addonTemplate), mostly dealing with sconstruct file:

 

  • Custom versions and add-on documentation: previously when generating add-on documentation from command line tools, a custom version specified from command line would not be applied to add-on documentation. This has been fixed.
  • Add-on documentation: now generates HTML5 (credit: Noelia Martinez).

 

Also, some parts of add-on template will be subject to Flake8 tests/edits (mostly sconstruct), and hopefully modernizing sconstruct in the process. I don’t expect add-ons to use the new sconstruct, but I highly encourage you to update add-on source code based on latest happenings with the community add-on template to add uniformity.

Cheers,

Joseph

 


Add-on Template: latest happenings

 

Hi all,

 

Some important edits were made to community add-on template (source code: https://github.com/nvdaaddons/addonTemplate), mostly dealing with sconstruct file:

 

  • Custom versions and add-on documentation: previously when generating add-on documentation from command line tools, a custom version specified from command line would not be applied to add-on documentation. This has been fixed.
  • Add-on documentation: now generates HTML5 (credit: Noelia Martinez).

 

Also, some parts of add-on template will be subject to Flake8 tests/edits (mostly sconstruct), and hopefully modernizing sconstruct in the process. I don’t expect add-ons to use the new sconstruct, but I highly encourage you to update add-on source code based on latest happenings with the community add-on template to add uniformity.

Cheers,

Joseph


NVDA add-on Developer toolkit 20.03 released

Andy B.
 

Hi,

I have released Developer toolkit 20.03. New features include gestures to obtain a control’s role, states, a new versioning scheme, and removal of the unique ID provided by IAccessible interfaces. The full release and download is at the following link.

https://github.com/ajborka/nvda_developer_toolkit/releases/tag/20.03

 

For those who want a getting started guide, I am starting that project today. If you have any questions or feedback, feel free to join the mailing list at www.groups.io/g/nvda-developer-toolkit, and ask your question or provide feedback there.

 

 

 

Sent from Mail for Windows 10

 


NVDA add-on Developer toolkit getting started guide contributions

Andy B.
 

Hi,

 

To help write a portion of the NVDA add-on Developer toolkit getting started guide, I have two questions for its current users, or potential users of the add-on:

 

 

  1. What system do you currently use to arrange controls/html elements on the screen?
  2. If you don’t create user interfaces or HTML content, what barriers prevent you from doing so?

Send your responses to ajborka@.... Thanks for your help in the creation of a getting started guide.

 

Sent from Mail for Windows 10

 

 


Re: #project-idea Grouping similar issues by project #project-idea

Noelia Ruiz
 

Yes, I didn"t know what cars are. This explanation is useful and I like the idea of using projects.
Thanks

Enviado desde mi iPhone

El 1 may 2020, a las 13:17, Reef Turner <reef@...> escribió:

Yes, the GitHub project boards need some work to be easy to use with a screen reader that's for sure. Cards are just issues, but can be organized within the project by using the columns. The columns on these projects are automated, cards / issues will automatically move from "to do", "in progress", "review in progress", "review approved", "done" as the work progresses. For most, these details are probably not that useful, but may be interesting.

For most people, it's probably adequate to use the filter on the issue list project: is:open is:issue project:nvaccess/nvda/7
If you don't know the project number, use the 'projects' button on the issues page to select the project to filter by, it is announced as "clickable  button  collapsed  subMenu    Projects".
You can also find out which project and column an issue is in by looking at the issue itself. After labels is projects. It tells you which projects this issue is part of, the status of that project (done / in progress/ to do) and then the column the issue is in.

I hope this is helpful.


Re: #project-idea Grouping similar issues by project #project-idea

Reef Turner
 

Yes, the GitHub project boards need some work to be easy to use with a screen reader that's for sure. Cards are just issues, but can be organized within the project by using the columns. The columns on these projects are automated, cards / issues will automatically move from "to do", "in progress", "review in progress", "review approved", "done" as the work progresses. For most, these details are probably not that useful, but may be interesting.

For most people, it's probably adequate to use the filter on the issue list project: is:open is:issue project:nvaccess/nvda/7
If you don't know the project number, use the 'projects' button on the issues page to select the project to filter by, it is announced as "clickable  button  collapsed  subMenu    Projects".
You can also find out which project and column an issue is in by looking at the issue itself. After labels is projects. It tells you which projects this issue is part of, the status of that project (done / in progress/ to do) and then the column the issue is in.

I hope this is helpful.


Re: #project-idea Grouping similar issues by project #project-idea

Noelia Ruiz
 

Hi, I like the idea of projects to make easier to pay attention to
specific and related issues. Anyway, a short explanation about the
differences between projects, cars and columns maybe useful for screen
reader users, at least for me :)
I have seen the shortcuts provided by GitHub pressing ?, but I don't
know how to interact with projects, though columns seem to be under
headings of level 3 and we can press g to go to issues, I think.
Kind regards

2020-04-30 16:28 GMT+02:00, Reef Turner <reef@...>:

I'd like to take advantage of GitHub's projects feature to make it easier
for new and existing developers to find work relevant to their interest,
group related work to help ensure it works towards a common goal and
generally be more organized.

I have just created one such project: [Project] Bullet / list UX (
https://github.com/nvaccess/nvda/projects/7 )

These NVDA dev community projects will be prefaced with "[Project]" to make
filtering of the projects list easier with "is:open project" (
https://github.com/nvaccess/nvda/projects?query=is%3Aopen+project )

I'll add and announce these projects in 'nvda-devel' message board with the
hashtag #project-idea.

For now this can be considered a draft process. Any feedback on this is
welcome, for now I won't be creating a large collection of projects, first I
would like to see how NVDA devs react to this idea.




Announcing Project Blackjack: hunting for NVDA add-on bugs and coding style improvements with Flake8

 

Hello NVDA add-ons and development community,

 

For those new to the community: I’m Joseph Lee, one of the volunteer code contributors to NVDA screen reader project. I hope everyone is staying safe and healthy during this uncertain time.

 

Like many of you, the ongoing COVID-19 pandemic had a profound impact in my life. After thinking about what to do while juggling online classes, I decided to take a look at the overall health of the NVDA add-ons ecosystem, specifically a way to hunt for bugs and improve code quality and style. The result is Project Blackjack, a set of recommendations for doing just that (linting) with help from Flake8.

 

As some of you might be aware by now, NVDA project is using Flake8, a popular coding style checker (linter) to deal with coding style. This tool allows us (NVDA contributors) to look at potential issues that can arise from inconsistent coding style, and in some cases, find things that appear to be harmless but are actual bugs (syntax warnings and errors and such). Some of you posting pull requests to GitHub may have noticed messages about Flake8 errors on your code, with the tool asking you to fix issues found.

 

In April 2020, I decided to run Flake8 against add-ons I have developed so far. Not only this tool found linting issues, it found potential bugs, and in at least two occasions, actual bugs that weren’t obvious at first. Notable finds include error handling logic error in encoder support in StationPlaylist, unused variable in Resource Monitor, and a need to update Weather app module in Windows 10 App Essentials to modern NVDA coding standards. Thanks to this tool, these three add-ons have gone through coding style changes, bug fixes, and passes Flake8 test.

 

Because linting NVDA source code itself is  something that will take months, I propose that add-ons community use Flake8 to look into coding style, and in some cases, hunt for potential and actual bugs. To do this:

 

  1. Install Flake8. You can do it as a standalone module (pip install flake8), or you can do so when you run “scons source” followed by “scons lint base=origin/master” after cloning NVDA source code. I highly recommend the latter method, as it not only will help you with add-ons, but also useful for people submitting pull requests, as they can use it to catch linting (coding style) issues before you commit changes.
  2. Once Flake8 is installed, switch to your add-on source code directory (root directory if you are using Git).
  3. Run Flake8 (flake8 sourceDir). This will present places where Flake8 found issues.
  4. For a detailed output, ask Flake8 for statistics (flake8 –statistics sourceDir), and you can ask it to print source code as errors are checked (flake8 –show-source sourceDir).
  5. You can also specify Flake8 options via a config file (I recommend using NVDA’s own Flake8 config file as a starting point and customize accordingly).

 

For more info on Flake8, take a look at:

https://flake8.pycqa.org/en/latest/

 

Recommended usage while developing and maintaining add-ons:

 

  1. Install Flake8 and run it against your add-on code (latest version if possible; if you are using Git, try using on master or a branch where you actively develop your add-on).
  2. As Flake8 finds issues, read the source code and think about how to resolve them. Depending on issues Flake8 finds, you can fix it on the spot (arithmetic operator issues (E225, E227, E228), look at where things come from (E403, E405), think about syntax changes (F632, for instance) and such.
  3. After each change, run Flake8 to make sure issues are addressed (no longer appears).
  4. Test your add-on before committing changes (do so while using the add-on yourself), as lint changes may introduce regressions.
  5. After you are satisfied with changes, commit it. You can either do so from your master branch, or if you want, use a separate branch for all Flake8 related work.

 

Tips:

  • Flake8 linting is optional but highly recommended.
  • Don’t make too many changes at once.
  • Always test changes with both Flake8 and by running your add-on.
  • Unless you know what you are doing, split your work over multiple releases.
  • Lint regularly (every release, every three to six months, annually, etc.).

 

For NVDA code contributors: to reduce messages you get about Flake8 when you submit pull requests, I recommend doing a local linting and runtime tests first before committing changes. Not only it can reduce Flake8 messages, it can also reduce diffs and let you see that your changes are fine and readable (no regressions, for example).

 

As a practical demonstration of linting, I will be dedicating upcoming version 20.06 release of my add-ons to Flake8 work. Resource Monitor, StationPlaylist, and Windows 10 App Essentials have gone through linting check in April and they are working as advertised.

 

If you have any questions, feel free to ask. For coding style for NVDA project, refer to NVDA wiki article on coding style and contributing.

Thanks.

Cheers,

Joseph


Re: NVDA 2020.1rc1 released

Cyrille
 

Le 30/04/2020 à 10:34, Reef Turner a écrit :
No, I'm not sure which message and I can't find it. Can you tell me the title?

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Brian's Mail list account via groups.io
Sent: Thursday, 30 April 2020 9:35 AM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] NVDA 2020.1rc1 released

did you spot the message about the beta from Cyrille just a few up from this one?
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users
----- Original Message -----
From: "Reef Turner" <reef@...>
To: <nvda-devel@groups.io>
Sent: Wednesday, April 29, 2020 4:03 PM
Subject: [nvda-devel] NVDA 2020.1rc1 released


Hi all,

NVDA 2020.1rc1 has been released. This is a release candidate, and unless
any critical issues are found, this will be identical to the

2020.1 release.

Highlights and download links can be found in the release blog post at:
https://www.nvaccess.org/post/nvda-2020-1rc1-now-available-for-testing/










Re: #project-idea Grouping similar issues by project #project-idea

Marlon Brandão de Sousa
 

This would be a huge thing.

Obrigado,
Marlon

Em 30 de abr de 2020, à(s) 13:06, Joseph Lee <joseph.lee22590@...> escreveu:



Hi,

At one point I was going to propose creating subgroups for people interested in doing specific work, but it looks like GitHub projects might be a bit more flexible.

Cheers,

Joseph

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Reef Turner
Sent: Thursday, April 30, 2020 7:29 AM
To: nvda-devel@groups.io
Subject: [nvda-devel] #project-idea Grouping similar issues by project

 

I'd like to take advantage of GitHub's projects feature to make it easier for new and existing developers to find work relevant to their interest, group related work to help ensure it works towards a common goal and generally be more organized.

I have just created one such project: [Project] Bullet / list UX

These NVDA dev community projects will be prefaced with "[Project]" to make filtering of the projects list easier with "is:open project"

I'll add and announce these projects in 'nvda-devel' message board with the hashtag #project-idea.

For now this can be considered a draft process. Any feedback on this is welcome, for now I won't be creating a large collection of projects, first I would like to see how NVDA devs react to this idea.


Re: #project-idea Grouping similar issues by project #project-idea

 

Hi,

At one point I was going to propose creating subgroups for people interested in doing specific work, but it looks like GitHub projects might be a bit more flexible.

Cheers,

Joseph

 

From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Reef Turner
Sent: Thursday, April 30, 2020 7:29 AM
To: nvda-devel@groups.io
Subject: [nvda-devel] #project-idea Grouping similar issues by project

 

I'd like to take advantage of GitHub's projects feature to make it easier for new and existing developers to find work relevant to their interest, group related work to help ensure it works towards a common goal and generally be more organized.

I have just created one such project: [Project] Bullet / list UX

These NVDA dev community projects will be prefaced with "[Project]" to make filtering of the projects list easier with "is:open project"

I'll add and announce these projects in 'nvda-devel' message board with the hashtag #project-idea.

For now this can be considered a draft process. Any feedback on this is welcome, for now I won't be creating a large collection of projects, first I would like to see how NVDA devs react to this idea.


#project-idea Grouping similar issues by project #project-idea

Reef Turner
 

I'd like to take advantage of GitHub's projects feature to make it easier for new and existing developers to find work relevant to their interest, group related work to help ensure it works towards a common goal and generally be more organized.

I have just created one such project: [Project] Bullet / list UX

These NVDA dev community projects will be prefaced with "[Project]" to make filtering of the projects list easier with "is:open project"

I'll add and announce these projects in 'nvda-devel' message board with the hashtag #project-idea.

For now this can be considered a draft process. Any feedback on this is welcome, for now I won't be creating a large collection of projects, first I would like to see how NVDA devs react to this idea.


Re: NVDA 2020.1rc1 released

Reef Turner
 

No, I'm not sure which message and I can't find it. Can you tell me the title?

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Brian's Mail list account via groups.io
Sent: Thursday, 30 April 2020 9:35 AM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] NVDA 2020.1rc1 released

did you spot the message about the beta from Cyrille just a few up from this one?
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users
----- Original Message -----
From: "Reef Turner" <reef@...>
To: <nvda-devel@groups.io>
Sent: Wednesday, April 29, 2020 4:03 PM
Subject: [nvda-devel] NVDA 2020.1rc1 released


Hi all,

NVDA 2020.1rc1 has been released. This is a release candidate, and unless
any critical issues are found, this will be identical to the

2020.1 release.

Highlights and download links can be found in the release blog post at:
https://www.nvaccess.org/post/nvda-2020-1rc1-now-available-for-testing/


Re: NVDA 2020.1rc1 released

Brian's Mail list account
 

did you spot the message about the beta from Cyrille just a few up from this one?
Brian

bglists@...
Sent via blueyonder.
Please address personal E-mail to:-
briang1@..., putting 'Brian Gaff'
in the display name field.
Newsgroup monitored: alt.comp.blind-users

----- Original Message -----
From: "Reef Turner" <reef@...>
To: <nvda-devel@groups.io>
Sent: Wednesday, April 29, 2020 4:03 PM
Subject: [nvda-devel] NVDA 2020.1rc1 released


Hi all,

NVDA 2020.1rc1 has been released. This is a release candidate, and unless any critical issues are found, this will be identical to the

2020.1 release.

Highlights and download links can be found in the release blog post at: https://www.nvaccess.org/post/nvda-2020-1rc1-now-available-for-testing/


Re: NVDA 2020 release schedule

Noelia Ruiz
 

Thanks.

2020-04-29 16:55 GMT+02:00, Reef Turner <reef@...>:

I agree, that page could use updating, though it's a bit of a chicken and
egg situation. We are currently working out the details of this process, and
trying to be transparent about the changes we are making as we make them. If
there are aspects of that page that are particularly misleading, please let
me know.




NVDA 2020.1rc1 released

Reef Turner
 

Hi all,

 

NVDA 2020.1rc1 has been released. This is a release candidate, and unless any critical issues are found, this will be identical to the

2020.1 release.

 

Highlights and download links can be found in the release blog post at: https://www.nvaccess.org/post/nvda-2020-1rc1-now-available-for-testing/


Re: NVDA 2020 release schedule

Reef Turner
 

I agree, that page could use updating, though it's a bit of a chicken and egg situation. We are currently working out the details of this process, and trying to be transparent about the changes we are making as we make them. If there are aspects of that page that are particularly misleading, please let me know.


Re: NVDA 2020 release schedule

Noelia Ruiz
 

Imo this may be documented if you find it useful, since the article
about the release process was updated more than a year ago.
https://github.com/nvaccess/nvda/wiki/ReleaseProcess
Kind regards

2020-04-29 14:59 GMT+02:00, Reef Turner <reef@...>:

In the past we have aimed for 4 releases a year. The new approach will
likely result in a variable number of releases per year. The releases will
be smaller but more often. The release process takes a minimum of 6 weeks
from first beta until release. That said, releases may be delayed up by high
priority issues. Realistically, I don't expect the number of releases to
change drastically.

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Akash Kakkar
Sent: Tuesday, 21 April 2020 8:37 PM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] NVDA 2020 release schedule

Hey Reef,
You said:
--We are aiming for a shorter release cycle, so we will likely start the
2020.2 beta as soon as the 2020.1 release is made.-- So, will it be for
always or only for this time? and if it will be persistent, then how many
releases we can expect in a year?
Although, I'm interested in having more releases throughout the year.


On 4/21/20, Reef Turner <reef@...> wrote:
The 2020.1 RC is currently blocked waiting for:
https://github.com/nvaccess/nvda/pull/11040
We are aiming for a shorter release cycle, so we will likely start the
2020.2 beta as soon as the 2020.1 release is made.










Re: NVDA 2020 release schedule

Reef Turner
 

In the past we have aimed for 4 releases a year. The new approach will likely result in a variable number of releases per year. The releases will be smaller but more often. The release process takes a minimum of 6 weeks from first beta until release. That said, releases may be delayed up by high priority issues. Realistically, I don't expect the number of releases to change drastically.

-----Original Message-----
From: nvda-devel@groups.io <nvda-devel@groups.io> On Behalf Of Akash Kakkar
Sent: Tuesday, 21 April 2020 8:37 PM
To: nvda-devel@groups.io
Subject: Re: [nvda-devel] NVDA 2020 release schedule

Hey Reef,
You said:
--We are aiming for a shorter release cycle, so we will likely start the 2020.2 beta as soon as the 2020.1 release is made.-- So, will it be for always or only for this time? and if it will be persistent, then how many releases we can expect in a year?
Although, I'm interested in having more releases throughout the year.


On 4/21/20, Reef Turner <reef@...> wrote:
The 2020.1 RC is currently blocked waiting for:
https://github.com/nvaccess/nvda/pull/11040
We are aiming for a shorter release cycle, so we will likely start the
2020.2 beta as soon as the 2020.1 release is made.