Howdy José, Howdy List,
1. the plugin manager should now have the focus when the plugin
manager opens
2. i implemented the key handling. pressing escape always closes
the plugin
manager (cancel button).
3. pressing return apply and close the window if the plugin list
has the focus
(Ok button). if we would always consume return, the buttons for
install /
uninstall would not activate if they are focused and we hit return.
4. the plugin manager now opens just once if we invoke orca + e
multiple times
fixed as requested ;). Thanks for feedback!
cheers chrys
Am 02.07.21 um 19:33 schrieb José Vilmar Estácio de Souza:
Hi.
when you press caps lock+e, the plugin manager screen is
displayed but
focus is not moved to it. I don't know if a bug or if this is
expected
behavior.
I would also like to suggest that in the plugin manager screen
the OK
button could be activated with the return key and the cancel
button be
activated with the esc key.
Thanks.
On 7/2/21 1:15 PM, Linux A11y wrote:
Howdy List,
I was busy in doing some coding things for out plugin based
orca screen
reader. Here a quick summary:
- most current fixes, performance optimizations and joanies
event flood
killer work is merged into my plugin_system branch
- a lot of internal rework an cleanups
- the plugin system tracks active states of plugins (every
plugin was
marked as active bevor)
- the plugin system now use the pluginInfo as parameter almost
everywhere. This is more unique than the plugin name
- i can officially announce an initial basic Plugin
Manager! Hell,
Yay! It was a good amount of work and its still considered as
experimental as its still under heavy testing and fixing,
but its
stable enough to unleash that beast for you
Tell me about the Plugin Manager!
The plugin manager is implemented as an core plugin by its
own. It
consumes the new plugin system API of orca.
The main window contains a simple list with two columns, the
plugin
name and the state (enabled or disabled). There is a handful
of buttons
at the bottom.
What can I do with it?
Its initial hardcoded bound to: orca + e (e for extensions)
You can navigate or type ahead on the plugin list to select
a plugin.
By toggle the active state it can be activated or
deactivated. Do apply
the new states you can press the apply button ( to only
apply the
states) or the ok button(to apply and close). Cancel does
dismiss your
changes.
There are also buttons to install or uninstall plugins:
- by pressing install, an file chooseer appears. You can
select a
plugin package there. A plugin package is a simple .tar.gz
gile what
contains the plugin folder. The installer only allows one
plugin
folder. And this plugin folder must contain the .plugin
file. Otherwise
its not installed.
Example for time plugin:
Package Time.tar.gz (the name of the file doesn’t matter)
Content
Folder: time/
File: time/time.plugin
File: time/time.py
By installing the archive is just unpacked to:
~/.local/share/orca/plugins
Its just available for activation right after installation.
No restart
or refresh is needed.
- By pressing uninstall, the current selected plugin is
removed from
~/.local/share/orca/plugins
Cause by libpeas it just takes real effect after restarting
orca.
See here:
https://gitlab.gnome.org/GNOME/libpeas/-/issues/27
What is a core plugin?
Well there are 3 types of plugins.
Core: could not been disabled, can not be uninstalled
System: can be disabled, can not be uninstalled
User: can be disabled, can be uninstalled
The plugin manager as core plugin means, you cannot disable
or remove
it by oops.
Whats next:
- currently the active states are not stored in settings. So
its reset
on next restart of orca.
- currently the per plugin settings are not stored.
- currently the plugins can register to signals and
shortcuts. If the
plugin unloads, it need to unregister resources by its own.
Plan is to
let orca track about the registrations and let orca
unregister them on
unload. This avoids that the programmer forgot about
unregister.
- a base plugin class for more easy extension
- more cleanup an refactoring
- modernization of orca API and make everything a class to
be OOP
consistent.
- currently not every plugin unloads clean. Lets fix that
We are still compatible to orca master.
Looking for feedback.
Cheers chrys
_______________________________________________
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