Skip to content
  • Rui Matos's avatar
    keyboard: Add functionality to set IBus engines from input sources · 557bfce8
    Rui Matos authored
    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
    557bfce8