Re: NVDA For VS Code update.
Luke Davis
Pawel Urbanski wrote:
Putting the add-on on the community site at last, could be a goodhttps://addons.nvda-project.org/requirements Luke
|
|
Re: Ideas to store add-on state.
Luke Davis
Pawel Urbanski wrote:
Thanks alot for that tip. I was thinking about GlobalVars but for someglobalVars (lower case g) is literally just a module. It has some variables of its own that NVDA itself uses for various things, but it is little more than a namespace that you can import and set things on. Technically you could do that with anything, from one of NVDA's modules, to a Python core library, to an empty module of your own. But in NVDA contexts it is pretty much always imported, so makes an easily recognized storage platform to avoid using globals in your own module (which is another way you could handle this, although I wouldn't recommend that). Luke
|
|
Re: Ideas to store add-on state.
Pawel Urbanski
Thanks alot for that tip. I was thinking about GlobalVars but for some
toggle quoted messageShow quoted text
reason made a lazy assumption that it is a dictionary of useful values. It looks like it can be used in a more clever way. I have some ideas to implement in a very near future so it will be a good occasion to test the waters.
On 6/25/22, Luke Davis <luke@...> wrote:
Pawel Urbanski wrote:Unfortunately Pylance of VS Code kept throwing errors about missingAfter glancing at your code briefly [1], it seems that what you are trying
|
|
Re: NVDA For VS Code update.
Pawel Urbanski
Putting the add-on on the community site at last, could be a good
toggle quoted messageShow quoted text
idea. I will do some searching and reading what are the steps involved.
On 6/24/22, Luke Davis <luke@...> wrote:
Are you going to release this on the community site, and do you need help
|
|
Re: Ideas to store add-on state.
Luke Davis
Pawel Urbanski wrote:
Unfortunately Pylance of VS Code kept throwing errors about missingAfter glancing at your code briefly [1], it seems that what you are trying to do isn't to save runtime state data for an App Module, so much as you are trying to access the state of an App Module from an associated overlay class. Do I understand that correctly? I am no expert on overlay classes, nor how they are supposed to communicate state, but I think a better way to do this might be by way of some global namespace. Fortunately, NVDA provides one of those, called globalVars. You import globalVars in each of your modules, and then can set state upon it, and read state from it. import globalVars class AppModule(appModuleHandler.AppModule): def __init__(self, *args, **kwargs): # ... globalVars.vscode = {} globalVars.vscode["name"] = "myName" # Or, if you don't need to bother with a dict globalVars.vscodeName = "myName" Then, in your other class, you can simply do: if globalVars.vscodeName == "whatever": There may be a more elegant way to reach outside the class scope to get at the AppModule's state variables from an overlay that also doesn't generate a compiler error, but this is one that should definitely work and is easy to read. [1]: https://github.com/accessifix/nvda-for-vs-code/releases/download/2022.1.0/nvda-for-vs-code-2022.1.0.nvda-addon Luke
|
|
Re: NVDA For VS Code update.
Luke Davis
Are you going to release this on the community site, and do you need help with that?
toggle quoted messageShow quoted text
Luke Pawel Urbanski wrote:
Hi Everyone,
|
|
Re: Ideas to store add-on state.
Luke Davis
Pawel Urbanski wrote:
Unfortunately Pylance of VS Code kept throwing errors about missingThat does not seem to be what James suggested. Why do you think it's proper? Specifically, wherefore the ".appModule" part of that construct? I haven't looked at your code to see exactly how you're using that, but when assigning instance variables from within class methods for that instance you would not use ".appModule" as part of the construct. James Scholes wrote: self._someStateFlag = False self._someOtherStateFlag = 14 # or self._state = {'flag1': False, 'flag2': 14} Luke
|
|
Re: Ideas to store add-on state.
Pawel Urbanski
Thank you for the suggestion. I decided to go the 'appModule' instance
toggle quoted messageShow quoted text
route. This time, I did it properly with the super method and inheritance and so on. Unfortunately Pylance of VS Code kept throwing errors about missing type when parsing the expression of: self.appModule.InstanceVariableName I guess it is due to different capitalization and the fact that 'appModule' with a small 'a' is a runtime property of classes in the add-on runtime. All in all, things are working well and I even managed to remove that code part but still use instance variables for other cases. I posted about the updated VS Code add-on. Thank you once again. Best, Pawel
On 6/21/22, James Scholes <james@...> wrote:
If you have state that only needs to be utilised during the add-on's
|
|
NVDA For VS Code update.
Pawel Urbanski
Hi Everyone,
While nobody was interested to pick up developing the add-on, I updated it to be compatible with new NVDA and and introduced some API changes. I do code things from time to time, so still have the need for this add-on. The changes are not very signifficant, but I hope that for those of you who use VS Code it is welcome news. If time and life allow to do so, I hope to add some more features and fixes - mainly about ergonomics and convenience. You can find the updated add-on over here: https://github.com/accessifix/nvda-for-vs-code/releases/tag/2022.1.0 Enjoy, happy hacking, Pawel
|
|
decTalk bundle NVDA addon
Josh Kennedy <joshknnd1982@...>
hi
I am trying to find the developer of the decTalk bundle NVDA addon if that developer is on this list would you please email me privately at: joshknnd1982@... that is: joshknnd1982 at, gmail.com thanks
|
|
Pb to get end position of text under UIA
bering.p
Paul.
Hi, I would like your help because I feel a bit lost with TextInfo object. I'm trying to get the last position of each line of a text in a text document (open in notepad or word for example). I get the result well when it's an IAccessible object which is under the cursor but not when it's an UIA object. Here is my code for IA: focus = api.getFocusObject() info = focus.makeTextInfo(textInfos.POSITION_CARET) info.expand(textInfos.UNIT_LINE) endPos = info.bookmark.endOffset print("pos: %s"%endPos) With UIA, I get an "endOffset" attribute error. How to get the result under UIA? Thanks for your help. Best regards. Paul.
|
|
Re: Text Analyzer
#addonrequest
J.G
Hello,
yes, the global plugin extention (GPE) has many functions, but user can turn off all of them, which he or she doesn't need. so quick solution could be instalation of GPE and exclusion of features, which you don't need from this addon. best regards, Jožef
|
|
Re: Text Analyzer
#addonrequest
Dear Mr. Abrantes,
Thank you for your response. I was not aware that this feature was available as part of the NVDA global commands extension add-on because this add-on is not listed in the repository and is thus hard to find without a Google search. Additionally, this add-on has quite a large set of functions which I am not looking for. I am simply interested in a "text analyzer" add-on which would be accepted by the NVDA add-ons community, which is why I sent my original e-mail. Hope this helps. Sincerely, Noah
|
|
Re: Ideas to store add-on state.
James Scholes
If you have state that only needs to be utilised during the add-on's runtime, and not persisted, I would just store it on the AppModule or GlobalPlugin instance:
toggle quoted messageShow quoted text
class AppModule(appModuleHandler.AppModule): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self._someStateFlag = False self._someOtherStateFlag = 14 # or self._state = {'flag1': False, 'flag2': 14} Is there a reason why this wouldn't be sufficient? Regards, James Scholes
On 21/06/2022 at 11:20, Pawel Urbanski wrote:
Dear Everyone,
|
|
Ideas to store add-on state.
Pawel Urbanski
Dear Everyone,
Since I still occasionally use Visual Studio Code and nobody followed up with my request to take over the development, I am working on updating the add-on. I am looking for hints and inspiration on how to best keep add-on state. It does not need to be saved but needs to work when the application is running. I use it to store some add-on flags and state. Is there anything in NVDA api like this or maybe you cane up with a working way to share global state. There is the configuration class but I don't know if it can be made local to the add-on running instance in the scope of the AppModule class - please treat this example as explanatory not in terms of working code. Thank you for any hints... Pawel
|
|
Re: Text Analyzer
#addonrequest
Brian's Mail list account
Do you have a direct link?
toggle quoted messageShow quoted text
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: "Noah Carver" <noahcarver494@...> To: <nvda-addons@nvda-addons.groups.io> Sent: Monday, June 20, 2022 4:28 PM Subject: [nvda-addons] Text Analyzer #addonrequest Dear List, A particular feature which I have found quite useful in JAWS is the Text Analyzer, which checks for various errors including extra spaces, unmatched opening and closing symbols, font changes, ETC. and notifies the user so that they may fix the mistake. This feature would be immensely helpful for NVDA users, and I am therefore requesting an add-on which adds this functionality. The documentation describing the text analyzer is pasted below, fully describing how the functionality operates, its configuration options, ETC. If any developer would be interested in creating this add-on, it would not only be appreciated by me, but also by many NVDA users who write often. Thank you for your time and interest. Sincerely, Noah --Documentation starts here--
|
|
Re: Text Analyzer
#addonrequest
Brian's Mail list account
Seconded by me. It needs a bit of housekeeping and logical layering of the options into different property sheets and also the ability to turn on and off the category as a whole. It will need some thought and testing by users though, as you are never going to please everyone whichever way you choose to separate the options. Brian
toggle quoted messageShow quoted text
-- bglists@... Sent via blueyonder.(Virgin media) Please address personal E-mail to:- briang1@..., putting 'Brian Gaff' in the display name field.
----- Original Message -----
From: "Luke Davis" <luke@...> To: <nvda-addons@nvda-addons.groups.io> Sent: Monday, June 20, 2022 9:41 PM Subject: Re: [nvda-addons] Text Analyzer #addonrequest René Linke wrote: but that add-on you referrd, that is very huge and very detailed. It has too many features in it, I wish that add-on would be split up in different smallerYou are not alone in thinking that Global Extension has too many different things going on in it to be practical. I don't even think of it when looking for an add-on, because even if it may have the feature I'm looking for, it is such a random collection of things that I don't necessarily want, with such complexity, that understanding everything about it and how it interacts with my other software is a time commitment I can't make. Not to diminish the work that Paul put into it; I'm sure it is quite an accomplishment and solves many problems for many people. But if it were split into individual add-ons, or even category specific add-on collections, it would help many more people who are looking for specific things. Luke
|
|
Re: Text Analyzer
#addonrequest
Brian's Mail list account
Does not the spellchecker spot most of these, It certainly does the lack of a space after a comma, or extra spaces, but maybe this is strict.
toggle quoted messageShow quoted text
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: "Noah Carver" <noahcarver494@...> To: <nvda-addons@nvda-addons.groups.io> Sent: Monday, June 20, 2022 4:28 PM Subject: [nvda-addons] Text Analyzer #addonrequest Dear List, A particular feature which I have found quite useful in JAWS is the Text Analyzer, which checks for various errors including extra spaces, unmatched opening and closing symbols, font changes, ETC. and notifies the user so that they may fix the mistake. This feature would be immensely helpful for NVDA users, and I am therefore requesting an add-on which adds this functionality. The documentation describing the text analyzer is pasted below, fully describing how the functionality operates, its configuration options, ETC. If any developer would be interested in creating this add-on, it would not only be appreciated by me, but also by many NVDA users who write often. Thank you for your time and interest. Sincerely, Noah --Documentation starts here--
|
|
Re: Dropbox tray gone inaccessible again
Brian's Mail list account
Well I've tried one windows 10 and two windows 7 machines and the new interface does not speak nor do the alerts even though a sighted person confirms they are still turned on. Yes have run the repair tool. I cannot see that any other add on might have changed this as they have been the same for years. If everyone else says its working then it sounds like at least three copies of dropbox or windows have a unique issue and I'd not know where to start. This sort of thing is mega annoying!
toggle quoted messageShow quoted text
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: "Rui Fontes" <rui.fontes@...> To: <nvda-addons@nvda-addons.groups.io> Sent: Monday, June 20, 2022 12:26 PM Subject: Re: [nvda-addons] Dropbox tray gone inaccessible again Sorry, but which last version?
|
|
Re: Text Analyzer
#addonrequest
Luke Davis
René Linke wrote:
but that add-on you referrd, that is very huge and very detailed. It has too many features in it, I wish that add-on would be split up in different smallerYou are not alone in thinking that Global Extension has too many different things going on in it to be practical. I don't even think of it when looking for an add-on, because even if it may have the feature I'm looking for, it is such a random collection of things that I don't necessarily want, with such complexity, that understanding everything about it and how it interacts with my other software is a time commitment I can't make. Not to diminish the work that Paul put into it; I'm sure it is quite an accomplishment and solves many problems for many people. But if it were split into individual add-ons, or even category specific add-on collections, it would help many more people who are looking for specific things. Luke
|
|