Re: [orca-list] Pluginsystem for Orca using libpeas



Howdy Patrick,

not sure if my last message was sent. so i rewrite it :). Thunderbird crashed.

currently i place orcas objets into the "generic" API whats thought for plugins to register there own functionality and objects. later i want to move all those stuff to members of class orca. so everything is available in orcas main class, instead of cluttered all over the place
you can access the default pressentMessage by doing:

        script_manager = API.app.getAPI('ScriptManager')
        scriptManager = script_manager.getManager()
        scriptManager.getDefaultScript().presentMessage(Message, resetStyles=False)

but for time and date is also the activeScript used. to me it sounds that the application can overwrite the presentMessage behave then. this would not make sense for an global shortcut to me. so maybe its an good idea to change it in date / time and clipboard as well.

And a lot of other things I won't be able to tel you because they are so much :)

yea, i see this. it really should get a cleanup. the plugin stuff is a good chance to do so.


Am 12.06.21 um 02:00 schrieb Patrick ZAJDA:

Hi Chrys,


How do you specify the default script instead of active?

I replaced the word active by default, tried to take example from classic preference with no success at all.

And a lot of other things I won't be able to tel you because they are so much :)


Best regards.


Le 11/06/2021 à 20:35, chrys a écrit :
Howdy Patrick,

what you see is some kind of prototyping code of mine i missed to delete the leftovers yet as i wanted to test it first good enough before delte it.
the body of this function was the base for my simple outputMessage helper function.  but if you look more deply, there is an return just after

        API.app.getAPIHelper().outputMessage(Message, not append)

what makes it stop continue execute the code and the "second" message output never happens. but this could be deleted :), and as you say, maybe replaced by the active script implementation (maybe always the default script instead of the active one)

cheers chrys
Am 11.06.21 um 20:06 schrieb Patrick ZAJDA:

Hi again Chrys,


I planned to reply about appModules/GlobalPlugin but I would not have said better than Geoff has done.


I only created a PR  for clipboard, because I have to learn some things about what happens with self-voicing.


When reading the code I feel like there are two messages announced, the second time within checking Orca settings.

Could you help me to understand about the way you announce the message please?


Thanks and best regards.


Le 11/06/2021 à 19:27, Linux A11y a écrit :
Howdy Patrick,

Ah great two fixed, one left. Ok i didnt know that it works without review the object. Thats why i did it in that way. Let me try that out without doing review just by using the caret cursor. We definitely wanna make it behave as before. 

Sure, if we wanna have this behavior in clipboard and selfvoice as well, feel free to PR.  

Knowing some basics doesn’t make things hard to migrate to plugins m, but some of them i had to figure first. Stll i want create a orca plugin base class as if we add some triggers, events or API we don’t have to change every single plugin. Maybe we can reuse NVDAs baseclass for plugins. Then we already gain some level of compatibility. But seems there are different kind of extensions or plugins, so i have to read the documentation first what the difference between i.e. appModule, GlobalPlugin and enhancer is. And what is the right thing for us. (Maybe someone knows that here? So i dont have to study all the documentation by my own?)

Cheers chrys

Am 11.06.2021 um 19:11 schrieb Patrick ZAJDA <patrick zajda fr>:



Hi again Chrys,


Your suggestion for point 3 helped me to fix mouse issue, even if I find the behavior different than before.

Before, I had not to use review cursor keys to be able to join the mouse to the cursor.


For example on a web page, mouse was following the cursor so I only had to emulate the left click with Orca and if it did not work, I had to press the keys to join the mouse to the cursor position before making the left lick. Now I have to move the review cursor before being able to use mouse buttons.


About message and "make": all is OK for date and time now, thanks!

Maybe it should be good to do the same for clipboard announcement? Not sure for self-voice plugin.

I thoughh about making a PR for that.


I hop I gave you enough precise explanations about review.


Best regards,


Patrick


Le 11/06/2021 à 18:41, chrys a écrit :
Howdy,
i took a look at your issues here all in order:
1. review keys not working: i dont see this here. i can move the review to an button and simulate an right or leftclick.
what i did: open orca settings Orca + space, review (KP_4 and KP_6) to "ok" button, press multiply to klick on it. worked for me. Orca simulated the klick, closed the preferences dialog and reloads the settings.

2. you are right, i deleted some .ui files because those are not needed anymore. but forgott about that the translation is still refering to. i usualy test without remove my orca setup. so the file still exist in my filesystem. so i dont got this error. pull again, make should work now. before i remove the file i have to change the translations as well.

3. hmm sadly i dont own an braille device to verify, but i do just call the same function as it was called before. so i wonder why the braille behaves different. maybe can you remove your installed orca from filesystem and just reinstall it using make install? maybe some python caching is behaving bad here.

cheers chrys

Am 11.06.21 um 17:48 schrieb Patrick ZAJDA:

I noticed a different behavior about brail: for date and time plugin for example, I would expect the message not to stay displayed.

Braille message are displayed for a specific delay.

Or is it the expected behavior for the moment to keep the message displayed until something else is spoken?


Le 11/06/2021 à 17:40, Patrick ZAJDA a écrit :

Hi again Chrys,


Thanks for your answer.

Another thing: with the latest commit I cannot do "make":

Making all in po
make[1] : on entre dans le répertoire « /home/pzajda/git/orca-plugin/po »
make orca.pot-update
make[2] : on entre dans le répertoire « /home/pzajda/git/orca-plugin/po »
make[2]: ***  Aucune règle pour fabriquer la cible « ../src/orca/orca-setup.ui », nécessaire pour « orca.pot-update ». Arrêt.
make[2] : on quitte le répertoire « /home/pzajda/git/orca-plugin/po »
make[1]: *** [Makefile:322: orca.pot] Error 2
make[1] : on quitte le répertoire « /home/pzajda/git/orca-plugin/po »
make: *** [Makefile:471: all-recursive] Error 1


I even tried to clone the repo again in the case I would have made a mistake.


Best regards.


Le 11/06/2021 à 16:52, Linux A11y a écrit :
Howdy Patrick,

Sounds like i missed something somewhere. I m currently shopping but will take a look as soon as i stay back at home and find some time. I let you know.

Thanks for testing and reporting!

Von meinem iPhone gesendet

Am 11.06.2021 um 15:20 schrieb Patrick ZAJDA <patrick zajda fr>:

Hello Chrys and all,


Since I use Orca with the plugin system, I cannot use Orca mouse functions as joining the mouse cursor to current position nor left/right click, I always have the "unable to get position" message.


Is there something I missed?


Best regards,


Patrick


Le 11/06/2021 à 12:49, chrys a écrit :
Howdy,

cool, that you get it installed :). let me know if you find any issues in orca with plugin system git.
great that is getting tested, thanks!

Am 11.06.21 um 12:39 schrieb Patrick ZAJDA:
Hello,


Right, I've just done it on Debian Buster.

I only had to install the backports version of meson after installing all dependencies of libpeas (sudo apt build-dep libpeas) and I also installed the python3 versions of libpeas dependencies then I followed these instructions: https://www.linuxfromscratch.org/blfs/view/svn/gnome/libpeas.html


Now I can run orca with the plugin system.

It is not the cleanest way to proceed as I overwritten installed binaries by Debian but I have not encountered any issue.


Hop this could help some other people.


Le 10/06/2021 à 18:56, Didier Spaier via orca-list a écrit :
Hi,

I would go for: 3. Build libpeas from source.

Make a package for it just took 40 seconds on my laptop.

I'll leave for others to tell you how to do that for Ubuntu.

Cheers,
Didier


Le 10/06/2021 à 18:44, Geoff Shang a écrit :
On Thu, 10 Jun 2021, chrys wrote:

if this commit is true, you need at least version 1.26 of libpeas from January 2020.
Debian Bullseye (the next release) has libpeas 1.28.

Unfortunately, it doesn't appear to be in buster-backports.

I looked at the version in Bullseye. It actually has fewer dependencies than the version in Buster, and many of them are the same version or are covered by packages in Buster.

However, it depends on libpython3.9, and as the version of Python in Buster is 3.7.3 and one of the dependencies for libpython3.9 is libc6 >= 2.29 which is higher than the version in Buster, trying to pull in libpeas from Bullseye will result in an upgrade of libc6 which will suck in a whole lot of other packages.

As I see it, your choices are:

1.  Upgrade to Bullseye.  Bullseye is currently frozen and is likely to release soon, so this might be safe enough to do. I'm going to do this on one of my systems for a similar reason - I need Python > 3.7.  You should read the release notes first though as there may be important changes (you should do this anyway).

2.  Pull in libpeas from Bullseye anyway and accept all the upgraded packages.  This will result in a partially upgraded system which is probably not a good idea, especially given that lib6 will be upgraded.

3.  Build libpeas from source. I have no idea at all how involved this is and it may well be more work than it's worth, particularly given the dependencies.

4.  Wait for Bullseye to release.

HTH,
Geoff.
_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Orca wiki: https://wiki.gnome.org/Projects/Orca
Orca documentation: https://help.gnome.org/users/orca/stable/
GNOME Universal Access guide: https://help.gnome.org/users/gnome-help/stable/a11y.html
_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Orca wiki: https://wiki.gnome.org/Projects/Orca
Orca documentation: https://help.gnome.org/users/orca/stable/
GNOME Universal Access guide: https://help.gnome.org/users/gnome-help/stable/a11y.html
-- 
Patrick ZAJDA
_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Orca wiki: https://wiki.gnome.org/Projects/Orca
Orca documentation: https://help.gnome.org/users/orca/stable/
GNOME Universal Access guide: https://help.gnome.org/users/gnome-help/stable/a11y.html
--
Patrick ZAJDA

_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Orca wiki: https://wiki.gnome.org/Projects/Orca
Orca documentation: https://help.gnome.org/users/orca/stable/
GNOME Universal Access guide: https://help.gnome.org/users/gnome-help/stable/a11y.html
--
Patrick ZAJDA


--
Patrick ZAJDA --

Patrick ZAJDA


--
Patrick ZAJDA




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]