mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
inputMethod: Do not change IBus.Capabilite by focus events
gnome-shell calls ibus_input_context_focus_in() in InputMethod.focus_in() but the event is not actually forwarded to panels and engines in GNOME Wayland because gnome-shell changes IBus.Capabilite by focus events and disables IBus.Capabilite.FOCUS when ibus_input_context_focus_in() is called. IBus.Capabilite is assumed a fixed value per input context in the first place and it should not be changed by focus events. https://gitlab.gnome.org/GNOME/gnome-shell/issues/573
This commit is contained in:
parent
63c9a6efd0
commit
60cad01880
1 changed files with 2 additions and 13 deletions
|
|
@ -36,15 +36,7 @@ class InputMethod extends Clutter.InputMethod {
|
|||
}
|
||||
|
||||
_updateCapabilities() {
|
||||
let caps = 0;
|
||||
|
||||
if (this.can_show_preedit)
|
||||
caps |= IBus.Capabilite.PREEDIT_TEXT;
|
||||
|
||||
if (this._currentFocus)
|
||||
caps |= IBus.Capabilite.FOCUS | IBus.Capabilite.SURROUNDING_TEXT;
|
||||
else
|
||||
caps |= IBus.Capabilite.PREEDIT_TEXT | IBus.Capabilite.AUXILIARY_TEXT | IBus.Capabilite.LOOKUP_TABLE | IBus.Capabilite.PROPERTY;
|
||||
let caps = IBus.Capabilite.PREEDIT_TEXT | IBus.Capabilite.FOCUS | IBus.Capabilite.SURROUNDING_TEXT;
|
||||
|
||||
if (this._context)
|
||||
this._context.set_capabilities(caps);
|
||||
|
|
@ -137,7 +129,6 @@ class InputMethod extends Clutter.InputMethod {
|
|||
this._currentFocus = focus;
|
||||
if (this._context) {
|
||||
this._context.focus_in();
|
||||
this._updateCapabilities();
|
||||
this._emitRequestSurrounding();
|
||||
}
|
||||
|
||||
|
|
@ -149,10 +140,8 @@ class InputMethod extends Clutter.InputMethod {
|
|||
|
||||
vfunc_focus_out() {
|
||||
this._currentFocus = null;
|
||||
if (this._context) {
|
||||
if (this._context)
|
||||
this._context.focus_out();
|
||||
this._updateCapabilities();
|
||||
}
|
||||
|
||||
if (this._preeditStr) {
|
||||
// Unset any preedit text
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue