Re: [orca-list] Settings concept for plugin based orca



Howdy Didier,

1. No, this is not an alternative way to do the same we currently do. This is a new design concept. The current approach is designed that settings almost managed by orcas authority. All settings here are a mixture of hardcoded or defined as static XML . As plugins bring new settings with them, but the preferences window is not able to show them (or only very hard), we need more flexibility here.   the new concept is more generating itself as the result of all available plugins with settings with some additional core settings. this will increase the flexibility and reduce the maintenance by light years plus offers new possibility like a search. 2. with "the settings dialog" i refer to the orca application settings or preferences dialog whatever you get by pressing orca + space. maybe this is a bad wording here. in Germany we say the word dialog also just referring to an application window where i can enter data (and this does not only command line but also for UI).

cheers chrys
Am 11.02.22 um 18:17 schrieb Didier Spaier via orca-list:
Hi Chrys,

I am kind of lost.

1. I thought that gsettings backend would be an alternate way to do the same
settings as currently using the Orca preferences GUI, which would remain as is
(maybe with the addition of a "plugins" tab" allowing to list/enable/disable
plugins?). is this correct? Or will you propose a completely different layout of
the Orca preferences GUI?
2. I am not sure to understand what you mean mentioning "the settings dialog".
Is it a dialog to set the plugins? In my understanding a dialog application is
presented as a GUI or a TUI (like the ones built with ncurses). But do we need
that if using gsettings which is a command line application?

Cheers,
Didier

Le 11/02/2022 à 16:52, Linux A11y a écrit :
Howdy List,

I thought about how to implement the gsetting backend and the preferences dialog.

The basic concept looks like the following:
1. the plugins bring its own settings. Orca as application does not know what settings a plugin will need. 
Otherwise we have to implement any plugin setting into the current preferences dialog. This is not what a 
plugin architecture is. This makes the current preferences dialog obsolete. Its too static and hard to extend 
in a useful way.
2. the new preferences dialog is isolated by the orca process. This is possible because gsettings support 
signals when settings got changed. In that way we can run the configuration dialog also when orca is not 
running at all or have alternative implementations like QT for KDE based desktops later. Orca itself, is just 
an background service then.
3. of course i will still make the settings dialog available as plugin at runtime. The possibility of running 
the dialog without orca running, doesn’t mean we won’t integrate it.
4. the preferences dialog becomes generic. It will be a list or better tree like structure.
5. the dialog should figure the datatype of an plugin by its own and add checkboxes, slider and menu buttons 
by its own to build up the UI. This will reduce the maintenance the plugin settings.
6. for more complex Menus like: shortcuts, string substitution, formatation details, speech (hierarchy of buttons 
TTS->language->voice->accents) and others, the generic handling could be overwritten with custom widgets
7. we can implement a search for settings in a list.
8. the most upper structure is the plugin name, in deeper levels you find its settings
Example:
Level 1: Orca (main application)
Level 2: profiles
Level 2: active profile
Level 1:speech
Level 2: enabled
Level 2: tts
Level 2: voice
Level 2: speed
Level 1: mouse review
Level 2: enabled
Level 2: read only text
Level 1: Braille
Level 2: enabled
Level 2: braille table
Level 1: date
Level 2: shortcuts
Level 2: format

Well i think you get the idea.

9. the settings dialog should have a export / import for a an application specific setting a single profile 
or all profiles
10. the settings dialog should have the possibility to change between profiles, add and remove them.
11. the settings dialog should have the possibility to change between application specific settings, add and 
remove them.
A profile contains a set of getneral and application specific settings
12. orca will provide the unified gsettings API but the plugin are responsible to handle them.
13. gsettings provide events when settings got changed. So orca can react even if the preferences dialog is 
separated to the orca process.
14. the settings Dialog should manage the plugins (enable, disable, install, remove them)

What do you think? Ideas? Feedback? Questions?

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
_______________________________________________
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




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