Date   

Re: A global plugin problem

Ken Perry
 

This worked in the old plugin now though with PIL it is telling me that image.py in pil can’t import

 

From . import  image.py

 

So I do:

 

From PIL import ImageGrab

 

 

Then when I run the plugin Ig et an error saying

  File "C:\Users\kperr\AppData\Roaming\nvda\scratchpad\globalPlugins\graphiti\__init__.py", line 17, in <module>

    from PIL import ImageGrab

  File "C:\Users\kperr\AppData\Roaming\nvda\scratchpad\globalPlugins\graphiti\PIL\ImageGrab.py", line 20, in <module>

    from . import Image

  File "C:\Users\kperr\AppData\Roaming\nvda\scratchpad\globalPlugins\graphiti\PIL\Image.py", line 89, in <module>

    from . import _imaging as core

ImportError: cannot import name '_imaging' from 'PIL' (C:\Users\kperr\AppData\Roaming\nvda\scratchpad\globalPlugins\graphiti\PIL\__init__.py)

INFO - core.main (14:52:30.502) - MainThread (18752):

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Joseph Lee
Sent: Saturday, January 15, 2022 2:30 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

Hi,

Resource Monitor uses psutil module.

To use external Python modules, you must copy the contents of the module to the place where you need to use it. For example, to use psutil inside a global plugin named “something”, you must copy the psutil module folder itself to globalPlugins/something and import it from __init__.py. This will work well if the module uses Python standard libraries that ships with NVDA (as part of its package process, Python will call py2exe to package NVDA modules and dependencies inside an executable archive powered by NSIS, as py2exe will pick up libraires that NVDA and its dependencies import).

Cheers,

Joseph

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Saturday, January 15, 2022 10:32 AM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

Ok I am stuck.  Is there some way to install packages because so far nothing I do has made it so I can use the following packages in a plugin

 

Aenum, and pillow. 

 

If I was writing a regular python program I would just pip install the packages and be done.  Since this is enclosed in nvda this does not work.  I don’t see anything in the development documents about this problem.   Is it that no one uses external packages with their plugins?  That is a big shocking.

 

Ken

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry via groups.io
Sent: Friday, January 14, 2022 11:21 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

Ok that makes since.  And it works partly.   I also need to use the PIL library so when I did the old plugin I put the package for PIL and the package for aenum in the folder. And then referenced them just like I would any other time.  Now that is not working.  The following is the code I used before what do I need to do now.  Is there a better way to include two packages that are not installed with NVDA.

 

PLUGIN_DIR = os.path.dirname(__file__)

 

# Add bundled copy of PIL to module search path.

sys.path.append(os.path.join(PLUGIN_DIR, "PIL"))

import ImageGrab

del sys.path[-1]

 

 

I have another set of this code in graphit.py to import from aenum but it used to be

From aenum import IntFlag

From aenum import enum

 

 

Now that will not work.  I tried doing all kinds of things for the above problem but I am at a loss how to fix it.  Is there a way to install packages into plugins now or is there some python way to fix this.

 

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Joseph Lee
Sent: Friday, January 14, 2022 10:17 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

Hi,

You must use relative import like so:

from . import modname

 

This, by the way, also works in Python 2.

Cheers,

Joseph

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 7:14 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

 

I don’t mind saying exactly what it is.  I do wish there was  a generic answer.  This is to fix the Graphiti plugin.  It is for a demo unit.  My file structure right now looks something like this

 

Scratchpad/ globalPlugins/Graphiti/__init__.py

Scratchpad/ globalPlugins/graphiti/graphiti.py

 

The code in __init__.py looks like:

Import graphiti

 

The graphiti class is the driver for the device.  I use it in other programs with no problem just like this and it worked when I used it in the global plugin for the older version of NV DA.  I have updated the Graphiti.py and the __init__.py and the __init__.py works if I replace the use of the graphiti.py with messages to test it.  The error in the log is on the line where the import graphiti is and the log says it can’t find the graphiti module.

 

Ken

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Travis Roth
Sent: Friday, January 14, 2022 10:04 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

I think this changed in python3 and I usually have to mess around until it works. I don’t know the directory structure you have, but for something like

\addon\appModules\appllicationName

 

If you then have __init__.py and myModule.py and myFunctions.py you need to tell it to look in the current directory for other files in that folder such as

import .myModule

from .myFunctions import makeBraille, makeSpeech

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 8:27 PM
To: nvda-addons@groups.io
Subject: [nvda-addons] A global plugin problem

 

I have an old global plug in for before NVDA was switched to  3.x   It worked fine and I have fixed all the problems that have to do with the difference in python types.

 

Here is the problem I have several python files in the global plugin.  The

 

__init__.py file has an import like this:

 

Import myclass

 

Then there is a file in the same folder

 

Myclass.py

 

 

The global plugin can not find the file I am importing.  It used to work fine is there some new thing I have to do to let the global plugin know where my other classes are? Note I have my global plugin in a folder like myplugin under the developer scratchpad folder and I know it is at least being found because if I take the class I am importing out the key press works fine and presents the message I want it to.     In the log though it says it can’t find myclass module.

 

Ken

 


Re: A global plugin problem

 

Hi,

Resource Monitor uses psutil module.

To use external Python modules, you must copy the contents of the module to the place where you need to use it. For example, to use psutil inside a global plugin named “something”, you must copy the psutil module folder itself to globalPlugins/something and import it from __init__.py. This will work well if the module uses Python standard libraries that ships with NVDA (as part of its package process, Python will call py2exe to package NVDA modules and dependencies inside an executable archive powered by NSIS, as py2exe will pick up libraires that NVDA and its dependencies import).

Cheers,

Joseph

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Saturday, January 15, 2022 10:32 AM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

Ok I am stuck.  Is there some way to install packages because so far nothing I do has made it so I can use the following packages in a plugin

 

Aenum, and pillow. 

 

If I was writing a regular python program I would just pip install the packages and be done.  Since this is enclosed in nvda this does not work.  I don’t see anything in the development documents about this problem.   Is it that no one uses external packages with their plugins?  That is a big shocking.

 

Ken

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry via groups.io
Sent: Friday, January 14, 2022 11:21 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

Ok that makes since.  And it works partly.   I also need to use the PIL library so when I did the old plugin I put the package for PIL and the package for aenum in the folder. And then referenced them just like I would any other time.  Now that is not working.  The following is the code I used before what do I need to do now.  Is there a better way to include two packages that are not installed with NVDA.

 

PLUGIN_DIR = os.path.dirname(__file__)

 

# Add bundled copy of PIL to module search path.

sys.path.append(os.path.join(PLUGIN_DIR, "PIL"))

import ImageGrab

del sys.path[-1]

 

 

I have another set of this code in graphit.py to import from aenum but it used to be

From aenum import IntFlag

From aenum import enum

 

 

Now that will not work.  I tried doing all kinds of things for the above problem but I am at a loss how to fix it.  Is there a way to install packages into plugins now or is there some python way to fix this.

 

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Joseph Lee
Sent: Friday, January 14, 2022 10:17 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

Hi,

You must use relative import like so:

from . import modname

 

This, by the way, also works in Python 2.

Cheers,

Joseph

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 7:14 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

 

I don’t mind saying exactly what it is.  I do wish there was  a generic answer.  This is to fix the Graphiti plugin.  It is for a demo unit.  My file structure right now looks something like this

 

Scratchpad/ globalPlugins/Graphiti/__init__.py

Scratchpad/ globalPlugins/graphiti/graphiti.py

 

The code in __init__.py looks like:

Import graphiti

 

The graphiti class is the driver for the device.  I use it in other programs with no problem just like this and it worked when I used it in the global plugin for the older version of NV DA.  I have updated the Graphiti.py and the __init__.py and the __init__.py works if I replace the use of the graphiti.py with messages to test it.  The error in the log is on the line where the import graphiti is and the log says it can’t find the graphiti module.

 

Ken

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Travis Roth
Sent: Friday, January 14, 2022 10:04 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

I think this changed in python3 and I usually have to mess around until it works. I don’t know the directory structure you have, but for something like

\addon\appModules\appllicationName

 

If you then have __init__.py and myModule.py and myFunctions.py you need to tell it to look in the current directory for other files in that folder such as

import .myModule

from .myFunctions import makeBraille, makeSpeech

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 8:27 PM
To: nvda-addons@groups.io
Subject: [nvda-addons] A global plugin problem

 

I have an old global plug in for before NVDA was switched to  3.x   It worked fine and I have fixed all the problems that have to do with the difference in python types.

 

Here is the problem I have several python files in the global plugin.  The

 

__init__.py file has an import like this:

 

Import myclass

 

Then there is a file in the same folder

 

Myclass.py

 

 

The global plugin can not find the file I am importing.  It used to work fine is there some new thing I have to do to let the global plugin know where my other classes are? Note I have my global plugin in a folder like myplugin under the developer scratchpad folder and I know it is at least being found because if I take the class I am importing out the key press works fine and presents the message I want it to.     In the log though it says it can’t find myclass module.

 

Ken

 


Re: A global plugin problem

Ken Perry
 

Ok I am stuck.  Is there some way to install packages because so far nothing I do has made it so I can use the following packages in a plugin

 

Aenum, and pillow. 

 

If I was writing a regular python program I would just pip install the packages and be done.  Since this is enclosed in nvda this does not work.  I don’t see anything in the development documents about this problem.   Is it that no one uses external packages with their plugins?  That is a big shocking.

 

Ken

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry via groups.io
Sent: Friday, January 14, 2022 11:21 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

Ok that makes since.  And it works partly.   I also need to use the PIL library so when I did the old plugin I put the package for PIL and the package for aenum in the folder. And then referenced them just like I would any other time.  Now that is not working.  The following is the code I used before what do I need to do now.  Is there a better way to include two packages that are not installed with NVDA.

 

PLUGIN_DIR = os.path.dirname(__file__)

 

# Add bundled copy of PIL to module search path.

sys.path.append(os.path.join(PLUGIN_DIR, "PIL"))

import ImageGrab

del sys.path[-1]

 

 

I have another set of this code in graphit.py to import from aenum but it used to be

From aenum import IntFlag

From aenum import enum

 

 

Now that will not work.  I tried doing all kinds of things for the above problem but I am at a loss how to fix it.  Is there a way to install packages into plugins now or is there some python way to fix this.

 

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Joseph Lee
Sent: Friday, January 14, 2022 10:17 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

Hi,

You must use relative import like so:

from . import modname

 

This, by the way, also works in Python 2.

Cheers,

Joseph

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 7:14 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

 

I don’t mind saying exactly what it is.  I do wish there was  a generic answer.  This is to fix the Graphiti plugin.  It is for a demo unit.  My file structure right now looks something like this

 

Scratchpad/ globalPlugins/Graphiti/__init__.py

Scratchpad/ globalPlugins/graphiti/graphiti.py

 

The code in __init__.py looks like:

Import graphiti

 

The graphiti class is the driver for the device.  I use it in other programs with no problem just like this and it worked when I used it in the global plugin for the older version of NV DA.  I have updated the Graphiti.py and the __init__.py and the __init__.py works if I replace the use of the graphiti.py with messages to test it.  The error in the log is on the line where the import graphiti is and the log says it can’t find the graphiti module.

 

Ken

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Travis Roth
Sent: Friday, January 14, 2022 10:04 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

I think this changed in python3 and I usually have to mess around until it works. I don’t know the directory structure you have, but for something like

\addon\appModules\appllicationName

 

If you then have __init__.py and myModule.py and myFunctions.py you need to tell it to look in the current directory for other files in that folder such as

import .myModule

from .myFunctions import makeBraille, makeSpeech

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 8:27 PM
To: nvda-addons@groups.io
Subject: [nvda-addons] A global plugin problem

 

I have an old global plug in for before NVDA was switched to  3.x   It worked fine and I have fixed all the problems that have to do with the difference in python types.

 

Here is the problem I have several python files in the global plugin.  The

 

__init__.py file has an import like this:

 

Import myclass

 

Then there is a file in the same folder

 

Myclass.py

 

 

The global plugin can not find the file I am importing.  It used to work fine is there some new thing I have to do to let the global plugin know where my other classes are? Note I have my global plugin in a folder like myplugin under the developer scratchpad folder and I know it is at least being found because if I take the class I am importing out the key press works fine and presents the message I want it to.     In the log though it says it can’t find myclass module.

 

Ken

 


Extending browse mode with a script.

Pawel Urbanski
 

Hi Everyone,
Since browse mode is somehow sepcialized I would like to ask for hints about the following case:
** How to extend quick navigation with a script so I can assign it in the gestures mapping?
** Is there some add-on I could check for code example?

Bhanks,
Pawel


Re: I need help: Porting NVDA checklistbox to an external program.

Héctor Javier Benítez Corredera
 

Hello Mr. Derek.

First and foremost thank you in advance for your interest.

I don't want to intrude on your time but I would be very grateful if you could solve the 64 bit problem.
Well I take the opportunity to ask you a few questions since I think you were the one who made the adaptation for NVDA.

Would it be possible to adapt the code for any reader mainly JAWS and NVDA?

Do you know if wxpython is working on this particular widget and its accessibility?

This last question is because I have searched for information and I have not seen anything in the wxpython repo because I tested the dev version 4.1.2 and it does not bring any news about it.

Well if possible I would like to ask you if you could comment the code that I shared with you even if it is in a brief way so I can look for information.

In principle I already tell you that if ctypes is involved is something that completely escapes me from the knowledge that I have now, but I would try to find information to understand as much as possible.

Well I pass you again the simple code where it is a simple checklistbox and with NVDA and wxpython 32 bits works correctly but not in Python 64 versions.

In 32 and 64 bit versions and with NARRATOR or JAWS in both 32 and 64 does not work.

I am very grateful to you and if it is not possible I also thank you for your attention.

This is the example:

https://www.dropbox.com/s/qcojipr7zggdwcf/checklistbox_accesible.py?dl=1

Best regards.

p.s.: Sorry for my English translator.

El 03/01/2022 a las 3:09, derek riemer escribió:
I cannot currently work on figuring this out, but if I don't respond to you by next week, please ping me.

On Sat, Jan 1, 2022 at 3:57 AM Héctor Javier Benítez Corredera <hebolah@...> wrote:
Hello, first of all happy new year to everyone.
I would like to see if someone can give me a hand.

I need to have the checklistboxes that NVDA has in an external program
and well I managed to port the necessary from NVDA to my program and it
works.

But I find that it only works in 32 Bits and not in 64 Bits.

I think it's all about ctypes and honestly this issue is completely out
of my hands.
I share with you an example with a small window that brings a
checklistbox accessible in 32 bits for Python and wxpython 4.1.1.

I would like it to work indifferently in 32 and 64 bits.

https://www.dropbox.com/s/qcojipr7zggdwcf/checklistbox_accesible.py?dl=1

I'm sharing this here because coming from NVDA development I thought I
could get some help here.

I apologize if this is considered off-topic.

Thank you very much in advance.

Regards








--
Derek Riemer
Improving the world one byte at a time!        ⠠⠊⠍⠏⠗⠕⠧⠬ ⠮ ⠸⠺ ⠐⠕ ⠃⠽⠞⠑ ⠁⠞ ⠁ ⠐⠞⠖
•    Accessibility enthusiast.
•    Proud user of the NVDA screen reader.
•    Open source enthusiast.
•    Skier.

•    Personal website: https://derekriemer.com





Re: At last... RibbonExplorer #newaddon

Brian's Mail list account
 

That was my thought as well. I simply never understood the logic of making ribbon menus. It would have been relatively easy for Microsoft to have made their shell with an option for ribbons or traditional menus. I think from all those I've met who are used to XP, these menus are the worst thing in the world to figure out the logic for when you want to do something you don't have the short cut for. Surely muddling property sheets, menus and bits of toolbars all in a complete mish mash has got to be wrong, yet they persist, despite almost every user sighted too not, saying they are hard to work with.
Sorry, I feel better now.
Brian

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

----- Original Message -----
From: "Roger Stewart" <paganus2@gmail.com>
To: <nvda-addons@nvda-addons.groups.io>
Sent: Thursday, January 13, 2022 3:42 PM
Subject: Re: [nvda-addons] At last... RibbonExplorer #newAddon


Will this work with Notepad and other apps that use ribbons?

Roger







On 1/13/2022 9:14 AM, Alberto Buffolino wrote:
Hi all,
as you may have read on NVDA general list, after a restricted testing phase, I released to the public a new add-on, to simplify exploration of Ribbon menu, in Office 2019, 365 and 2021 (for the moment).
Just install, open an Office application, press Alt... and familiarize with new menu layout (an enhanced version of object navigation, as advanced users will see).
It's in dev state, but it already works quite well, in my opinion.
Remaining problems concern primarily how to set focus in particular circumstances (forceFocus method), and I'd be very grateful if someone could suggest a better solution than mine (focusing a previous obj and then simulating a moving gesture, substantially).
Latest build is at:
https://github.com/ABuffEr/ribbonExplorer/releases/download/dev/ribbonExplorer-20220112-dev.nvda-addon
and repository at:
https://github.com/ABuffEr/ribbonExplorer/
Good tests 🙂
Alberto




.





Re: A global plugin problem

Ken Perry
 

Ok that makes since.  And it works partly.   I also need to use the PIL library so when I did the old plugin I put the package for PIL and the package for aenum in the folder. And then referenced them just like I would any other time.  Now that is not working.  The following is the code I used before what do I need to do now.  Is there a better way to include two packages that are not installed with NVDA.

 

PLUGIN_DIR = os.path.dirname(__file__)

 

# Add bundled copy of PIL to module search path.

sys.path.append(os.path.join(PLUGIN_DIR, "PIL"))

import ImageGrab

del sys.path[-1]

 

 

I have another set of this code in graphit.py to import from aenum but it used to be

From aenum import IntFlag

From aenum import enum

 

 

Now that will not work.  I tried doing all kinds of things for the above problem but I am at a loss how to fix it.  Is there a way to install packages into plugins now or is there some python way to fix this.

 

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Joseph Lee
Sent: Friday, January 14, 2022 10:17 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

Hi,

You must use relative import like so:

from . import modname

 

This, by the way, also works in Python 2.

Cheers,

Joseph

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 7:14 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

 

I don’t mind saying exactly what it is.  I do wish there was  a generic answer.  This is to fix the Graphiti plugin.  It is for a demo unit.  My file structure right now looks something like this

 

Scratchpad/ globalPlugins/Graphiti/__init__.py

Scratchpad/ globalPlugins/graphiti/graphiti.py

 

The code in __init__.py looks like:

Import graphiti

 

The graphiti class is the driver for the device.  I use it in other programs with no problem just like this and it worked when I used it in the global plugin for the older version of NV DA.  I have updated the Graphiti.py and the __init__.py and the __init__.py works if I replace the use of the graphiti.py with messages to test it.  The error in the log is on the line where the import graphiti is and the log says it can’t find the graphiti module.

 

Ken

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Travis Roth
Sent: Friday, January 14, 2022 10:04 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

I think this changed in python3 and I usually have to mess around until it works. I don’t know the directory structure you have, but for something like

\addon\appModules\appllicationName

 

If you then have __init__.py and myModule.py and myFunctions.py you need to tell it to look in the current directory for other files in that folder such as

import .myModule

from .myFunctions import makeBraille, makeSpeech

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 8:27 PM
To: nvda-addons@groups.io
Subject: [nvda-addons] A global plugin problem

 

I have an old global plug in for before NVDA was switched to  3.x   It worked fine and I have fixed all the problems that have to do with the difference in python types.

 

Here is the problem I have several python files in the global plugin.  The

 

__init__.py file has an import like this:

 

Import myclass

 

Then there is a file in the same folder

 

Myclass.py

 

 

The global plugin can not find the file I am importing.  It used to work fine is there some new thing I have to do to let the global plugin know where my other classes are? Note I have my global plugin in a folder like myplugin under the developer scratchpad folder and I know it is at least being found because if I take the class I am importing out the key press works fine and presents the message I want it to.     In the log though it says it can’t find myclass module.

 

Ken

 


Re: A global plugin problem

 

Hi,

You must use relative import like so:

from . import modname

 

This, by the way, also works in Python 2.

Cheers,

Joseph

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 7:14 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

 

I don’t mind saying exactly what it is.  I do wish there was  a generic answer.  This is to fix the Graphiti plugin.  It is for a demo unit.  My file structure right now looks something like this

 

Scratchpad/ globalPlugins/Graphiti/__init__.py

Scratchpad/ globalPlugins/graphiti/graphiti.py

 

The code in __init__.py looks like:

Import graphiti

 

The graphiti class is the driver for the device.  I use it in other programs with no problem just like this and it worked when I used it in the global plugin for the older version of NV DA.  I have updated the Graphiti.py and the __init__.py and the __init__.py works if I replace the use of the graphiti.py with messages to test it.  The error in the log is on the line where the import graphiti is and the log says it can’t find the graphiti module.

 

Ken

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Travis Roth
Sent: Friday, January 14, 2022 10:04 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

I think this changed in python3 and I usually have to mess around until it works. I don’t know the directory structure you have, but for something like

\addon\appModules\appllicationName

 

If you then have __init__.py and myModule.py and myFunctions.py you need to tell it to look in the current directory for other files in that folder such as

import .myModule

from .myFunctions import makeBraille, makeSpeech

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 8:27 PM
To: nvda-addons@groups.io
Subject: [nvda-addons] A global plugin problem

 

I have an old global plug in for before NVDA was switched to  3.x   It worked fine and I have fixed all the problems that have to do with the difference in python types.

 

Here is the problem I have several python files in the global plugin.  The

 

__init__.py file has an import like this:

 

Import myclass

 

Then there is a file in the same folder

 

Myclass.py

 

 

The global plugin can not find the file I am importing.  It used to work fine is there some new thing I have to do to let the global plugin know where my other classes are? Note I have my global plugin in a folder like myplugin under the developer scratchpad folder and I know it is at least being found because if I take the class I am importing out the key press works fine and presents the message I want it to.     In the log though it says it can’t find myclass module.

 

Ken

 


Re: A global plugin problem

Ken Perry
 

 

I don’t mind saying exactly what it is.  I do wish there was  a generic answer.  This is to fix the Graphiti plugin.  It is for a demo unit.  My file structure right now looks something like this

 

Scratchpad/ globalPlugins/Graphiti/__init__.py

Scratchpad/ globalPlugins/graphiti/graphiti.py

 

The code in __init__.py looks like:

Import graphiti

 

The graphiti class is the driver for the device.  I use it in other programs with no problem just like this and it worked when I used it in the global plugin for the older version of NV DA.  I have updated the Graphiti.py and the __init__.py and the __init__.py works if I replace the use of the graphiti.py with messages to test it.  The error in the log is on the line where the import graphiti is and the log says it can’t find the graphiti module.

 

Ken

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Travis Roth
Sent: Friday, January 14, 2022 10:04 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] A global plugin problem

 

I think this changed in python3 and I usually have to mess around until it works. I don’t know the directory structure you have, but for something like

\addon\appModules\appllicationName

 

If you then have __init__.py and myModule.py and myFunctions.py you need to tell it to look in the current directory for other files in that folder such as

import .myModule

from .myFunctions import makeBraille, makeSpeech

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 8:27 PM
To: nvda-addons@groups.io
Subject: [nvda-addons] A global plugin problem

 

I have an old global plug in for before NVDA was switched to  3.x   It worked fine and I have fixed all the problems that have to do with the difference in python types.

 

Here is the problem I have several python files in the global plugin.  The

 

__init__.py file has an import like this:

 

Import myclass

 

Then there is a file in the same folder

 

Myclass.py

 

 

The global plugin can not find the file I am importing.  It used to work fine is there some new thing I have to do to let the global plugin know where my other classes are? Note I have my global plugin in a folder like myplugin under the developer scratchpad folder and I know it is at least being found because if I take the class I am importing out the key press works fine and presents the message I want it to.     In the log though it says it can’t find myclass module.

 

Ken

 


Re: A global plugin problem

Travis Roth
 

I think this changed in python3 and I usually have to mess around until it works. I don’t know the directory structure you have, but for something like

\addon\appModules\appllicationName

 

If you then have __init__.py and myModule.py and myFunctions.py you need to tell it to look in the current directory for other files in that folder such as

import .myModule

from .myFunctions import makeBraille, makeSpeech

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Ken Perry
Sent: Friday, January 14, 2022 8:27 PM
To: nvda-addons@groups.io
Subject: [nvda-addons] A global plugin problem

 

I have an old global plug in for before NVDA was switched to  3.x   It worked fine and I have fixed all the problems that have to do with the difference in python types.

 

Here is the problem I have several python files in the global plugin.  The

 

__init__.py file has an import like this:

 

Import myclass

 

Then there is a file in the same folder

 

Myclass.py

 

 

The global plugin can not find the file I am importing.  It used to work fine is there some new thing I have to do to let the global plugin know where my other classes are? Note I have my global plugin in a folder like myplugin under the developer scratchpad folder and I know it is at least being found because if I take the class I am importing out the key press works fine and presents the message I want it to.     In the log though it says it can’t find myclass module.

 

Ken

 


A global plugin problem

Ken Perry
 

I have an old global plug in for before NVDA was switched to  3.x   It worked fine and I have fixed all the problems that have to do with the difference in python types.

 

Here is the problem I have several python files in the global plugin.  The

 

__init__.py file has an import like this:

 

Import myclass

 

Then there is a file in the same folder

 

Myclass.py

 

 

The global plugin can not find the file I am importing.  It used to work fine is there some new thing I have to do to let the global plugin know where my other classes are? Note I have my global plugin in a folder like myplugin under the developer scratchpad folder and I know it is at least being found because if I take the class I am importing out the key press works fine and presents the message I want it to.     In the log though it says it can’t find myclass module.

 

Ken

 


Avoiding running a globalModule to run in secure windows and during installation

Rui Fontes
 

Hello!


To accomplish what is in subject, it is correct the following lines?


if (globalVars.appArgs.secure or globalVars.appArgs.install or globalVars.appArgs.minimal):
    return


Thanks in advance!


Rui Fontes


Re: At last... RibbonExplorer #newaddon

Alberto Buffolino
 

Eilana Benish, il 14/01/2022 10.23, ha scritto:
but either I don't understand or it is not possible to change the values, select or open some comboboxes. for example the font selection combo box - I did not succeed too select a font or start typing in this autocomplete combobox the first characters of the font name.
Alberto:
Hi Eilana,
try to expand with right arrow, like a submenu.
I made this to prevent accidental changes with arrows.
And yes, I must add alt+downArrow and enter too... and it must be documented.
I have also disabled the "selected" announcement, quite useless in that context, and here it seems ok, but report if this causes problems.
Alberto


Re: At last... RibbonExplorer #newaddon

Alberto Buffolino
 

Sylwek Piekarski, il 13/01/2022 22.36, ha scritto:
It even works well in Office 2016.
Alberto:
Hi Sylwek,
thanks for appreciation.
Here I have a Office 2016 trial, for which I blocked updates to avoid an undesired upgrade to latest 365 interface, and indeed the latest add-on build seems to be working, but I have noticed anyway some strange behaviours, so be care, I cannot guarantee anything.
Alberto


Re: At last... RibbonExplorer #newaddon

Alberto Buffolino
 

Joseph Lee, il 13/01/2022 21.41, ha scritto:
I must say this is one of the well-documented add-ons as far as source code is concerned. A note about object presentation type at the beginning was really helpful, too.
Alberto:
thanks Joseph. Yes, presentationType was been an interesting discovery, personally. I think it'd be useful in other add-ons too, like ToolbarsExplorer.
Regarding license: I understand that this add-on is licensed under GNU GPL 3, which is incompatible with GPL 2. Have you considered re-licensing the add-on?
Alberto:
yes, my error, I'll change in v2.
Subsequent to the publication of the add-on dev snapshot, there has been a discussion on the users list about using native interface versus an add-on like this (see the NvDA list archive for details).
Alberto:
I have seen. I have a bit different opinions, not very flattering, concerning Ribbons accessibility, hierarchical exploration, moving/gesture predictability and the overview of the potential that a menu must give over its application, a lot of these related to mind organization and rapid learning and operating in unusual contexts, but, sure, knowing native interface is a better approach than using an add-on that could become unfunctional in any moment.
So, patience... this add-on will probably remain an experiment, in a minimum-effort state of support.
Alberto


Version 22.01 of Joseph Lee's add-ons: now available via Add-on Updater and on community add-ons website #addonrelease

 

Hi all,

Version 22.01 of the following add-ons are now available via Add-on Updater and from community add-ons website:

  • Add-on Updater
  • Clock (not my own)
  • Control Usage Assistant (now maintained by Noelia Martinez)
  • Enhanced Touch Gestures
  • GoldWave
  • Resource Monitor
  • StationPlaylist
  • Windows App Essentials

 

IMPORTANT NOTES:

  • The following add-ons are no longer actively maintained and are looking for new maintainers: Clock (not my own), Enhanced Touch Gestures, GoldWave, Resource Monitor, StationPlaylist.
  • Add-on Updater: version 22.01 is the final version to support NVDA 2021.2. In preparation for the next release which will support 2021.3 or later, starting from January 20, 2022, Add-on Updater will require NVDA 2021.3 when downloading the new add-on release via Add-on Updater itself.
  • Windows App Essentials: version 22.01 is the final version to support Windows 10 Version 20H2 (October 2020 Update). Therefore, I advise people running older Windows 10 releases to upgrade to at least Version 21H1, or better yet, upgrade to Version 21H2.

 

Thank you.

Cheers,

Joseph


Re: At last... RibbonExplorer #newaddon

Eilana Benish
 

Hi,

i use microsoft 365

the idea for this add-on is great

but either I don't understand or it is not possible to change the values, select or open some comboboxes. for example the font selection combo box - I did not succeed too select a font or start typing in this autocomplete combobox the first characters of the font name.

So I think in order to improve the user experience here, I would recommend too keep the default behavior for comboboxes that contains text or characters that user can choose or change or type some values in order to open the auto complete or the list of values to choose from.

So good luck with this add on 😊

 



‫בתאריך יום ה׳, 13 בינו׳ 2022 ב-23:37 מאת ‪Sylwek Piekarski‬‏ <‪sylpiek@...‬‏>:‬

I don't have a problem with ribbons in Office, but I'm glad that such an
add-on was created. Thank you very much. It even works well in Office 2016.

kind regards - Sylwek

W dniu 13.01.2022 o 16:14, Alberto Buffolino pisze:
> Hi all,
> as you may have read on NVDA general list, after a restricted testing
> phase, I released to the public a new add-on, to simplify exploration
> of Ribbon menu, in Office 2019, 365 and 2021 (for the moment).
> Just install, open an Office application, press Alt... and familiarize
> with new menu layout (an enhanced version of object navigation, as
> advanced users will see).
> It's in dev state, but it already works quite well, in my opinion.
> Remaining problems concern primarily how to set focus in particular
> circumstances (forceFocus method), and I'd be very grateful if someone
> could suggest a better solution than mine (focusing a previous obj and
> then simulating a moving gesture, substantially).
> Latest build is at:
> https://github.com/ABuffEr/ribbonExplorer/releases/download/dev/ribbonExplorer-20220112-dev.nvda-addon
>
> and repository at:
> https://github.com/ABuffEr/ribbonExplorer/
> Good tests 🙂
> Alberto
>
>
>
>
>







--


ובכבוד רב,

אילנה בניש מורשה נגישות שירות 2200

ייעוץ, ליווי והערכת נגישות ושמישות אינטרנט וטכנולוגיות מידע

טלפון ישיר 📱 +972-50-7100367 | דוא"ל 📧 benish.ilana@...


Re: At last... RibbonExplorer #newaddon

Sylwek Piekarski
 

I don't have a problem with ribbons in Office, but I'm glad that such an add-on was created. Thank you very much. It even works well in Office 2016.

kind regards - Sylwek

W dniu 13.01.2022 o 16:14, Alberto Buffolino pisze:

Hi all,
as you may have read on NVDA general list, after a restricted testing phase, I released to the public a new add-on, to simplify exploration of Ribbon menu, in Office 2019, 365 and 2021 (for the moment).
Just install, open an Office application, press Alt... and familiarize with new menu layout (an enhanced version of object navigation, as advanced users will see).
It's in dev state, but it already works quite well, in my opinion.
Remaining problems concern primarily how to set focus in particular circumstances (forceFocus method), and I'd be very grateful if someone could suggest a better solution than mine (focusing a previous obj and then simulating a moving gesture, substantially).
Latest build is at:
https://github.com/ABuffEr/ribbonExplorer/releases/download/dev/ribbonExplorer-20220112-dev.nvda-addon
and repository at:
https://github.com/ABuffEr/ribbonExplorer/
Good tests 🙂
Alberto




Re: At last... RibbonExplorer #newaddon

Dennis L <dennisl1982@...>
 

I would consider using this if NVDA ever became my primary screen reader.  NVDA needs to improve in the areas I stated the other day but nice work.

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Joseph Lee
Sent: Thursday, January 13, 2022 3:42 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] At last... RibbonExplorer #newaddon

 

Hi,

I must say this is one of the well-documented add-ons as far as source code is concerned. A note about object presentation type at the beginning was really helpful, too.

Regarding license: I understand that this add-on is licensed under GNU GPL 3, which is incompatible with GPL 2. Have you considered re-licensing the add-on?

Subsequent to the publication of the add-on dev snapshot, there has been a discussion on the users list about using native interface versus an add-on like this (see the NvDA list archive for details). The only thing I would add is that at least give folks a chance to demonstrate their skills with an add-on like this - who knows, it might be useful for some.

Cheers,

Joseph


Re: At last... RibbonExplorer #newaddon

 

Hi,

I must say this is one of the well-documented add-ons as far as source code is concerned. A note about object presentation type at the beginning was really helpful, too.

Regarding license: I understand that this add-on is licensed under GNU GPL 3, which is incompatible with GPL 2. Have you considered re-licensing the add-on?

Subsequent to the publication of the add-on dev snapshot, there has been a discussion on the users list about using native interface versus an add-on like this (see the NvDA list archive for details). The only thing I would add is that at least give folks a chance to demonstrate their skills with an add-on like this - who knows, it might be useful for some.

Cheers,

Joseph

1121 - 1140 of 18890