Skip to content
Commit 557bfce8 authored by Rui Matos's avatar Rui Matos
Browse files

keyboard: Add functionality to set IBus engines from input sources

We connect to IBus and tell it to switch engine when the current input
source setting is changed and an IBus engine is specified there.

If an IBus engine is specified, we flip the setting that backs the
Gtk/IMModule XSETTING so that GTK+ applications get notified to load
the IBus input method when needed and go back to the simple input
method when IBus isn't required.

The ibus-daemon claims a well known name in the session bus but
doesn't ship a .service file to make it activatable so we ship one
ourselves which will spawn it in a convenient way for us. In
particular, we disable its 'panel' component since that functionality
is provided by gnome-shell and would conflict at run time. We also
tell it to replace an existing ibus-daemon since traditionally it
would be spawned at session init time before even DBus was up and out
of control of gnome-session so, in case that happens, our own spawned
version will take place which is what we intend since the
traditionally launched ibus-daemon is highly likely to be running with
its 'panel' component enabled.

https://bugzilla.gnome.org/show_bug.cgi?id=676102
parent e6cd4971
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment