AyatanaIndicators / ayatana-indicator-keyboard

Ayatana Indicator Keyboard Applet
GNU General Public License v3.0
2 stars 6 forks source link

Set up D-Bus connection with Arctica Greeter #50

Closed tari01 closed 11 months ago

tari01 commented 1 year ago

depends https://github.com/ArcticaProject/arctica-greeter/pull/51

sunweaver commented 1 year ago

@tari01 to be more clear about the keyboard indicator's idea when running in the greeter...

Valuable information: the greeter (arctica-greeter) has two modes: login prompt only (without user list to scroll through) and login via selecting one's user from a presented user list.

case 1 (login prompt box only):

case 2 (picking one's user account from scrollable user list):

Basically, we'll need a pretty similar mechanism some time later for language selection and hand-over to the user session.

sunweaver commented 1 year ago

Basically, we'll need a pretty similar mechanism some time later for language selection and hand-over to the user session.

"language" as in locale setting for the user session (the language in what dialogs and menus etc. are displayed)

tari01 commented 1 year ago

Thanks for the breakdown. Here' s the situation:

case 1 (login prompt box only):

* greeter starts with system locale and keyboard settings

Already happening.

  • user can use the keyboard indicator to adjust the keyboard layout Happening, but hakish.
  • once username (and password) have been successfully given, the keyboard layout should be propagated into the user session (via AccountsService) Already happening.
  • that means: greeter or greeter's keyboard indicator stores the keyboard layout in actservice and user session's keyboard indicator picks it up again and applies the keyboard layout to the user session Already happening.

case 2 (picking one's user account from scrollable user list):

* whenever a user gets selected from the user list, the greeter or greeter's keyboard indicator queries the language layout settings of that user and applies it

Yep. This is where I'll need to create two-way D-Bus chat between Artica and the Indicator

  • users that don't have a language stored yet, get presented with the systems default kbd layout Already happening.
  • if the keyboard indicator is used to adjust the layout, it should be applied to the running greeter session Happening, but hakish.
  • if login as that user is successfull, the new kbd layout should stored via AccountsService under the logging in username Already happening.
  • in the user session then the keyboard indicator should pick up the kbd layout from AccountsService and re-apply it to the user session Already happening.

Conclusion: drop the dbus-update-activation-environment approach and concetrate on setting up D-Bus for Arctica <-> Indicator to be able to query, get signals and tell Arctica to do things for us (a11y will also like this). Mike agrees?

sunweaver commented 1 year ago

Mike agrees?

Ok then. Let's go this route. Let's make it so generic, that also desktop envs could possibly use it later on.

tari01 commented 1 year ago

@sunweaver: Review ping.