inputMethod: Try to connect require-surrounding-text signal

require-surrounding-text signal has been added since IBus 1.5.28.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6405
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2668>
This commit is contained in:
Takao Fujiwara 2023-03-03 17:50:10 +09:00 committed by Carlos Garnacho
parent 3c130a1cdf
commit 1cfaa2379d

View File

@ -16,6 +16,8 @@ Gio._promisify(IBus.InputContext.prototype,
const HIDE_PANEL_TIME = 50; const HIDE_PANEL_TIME = 50;
const HAVE_REQUIRE_SURROUNDING_TEXT = GObject.signal_lookup('require-surrounding-text', IBus.InputContext);
export const InputMethod = GObject.registerClass({ export const InputMethod = GObject.registerClass({
Signals: { Signals: {
'surrounding-text-set': {}, 'surrounding-text-set': {},
@ -80,7 +82,6 @@ export const InputMethod = GObject.registerClass({
this._context.set_client_commit_preedit(true); this._context.set_client_commit_preedit(true);
this._context.connect('commit-text', this._onCommitText.bind(this)); this._context.connect('commit-text', this._onCommitText.bind(this));
this._context.connect('require-surrounding-text', this._onRequireSurroundingText.bind(this));
this._context.connect('delete-surrounding-text', this._onDeleteSurroundingText.bind(this)); this._context.connect('delete-surrounding-text', this._onDeleteSurroundingText.bind(this));
this._context.connect('update-preedit-text-with-mode', this._onUpdatePreeditText.bind(this)); this._context.connect('update-preedit-text-with-mode', this._onUpdatePreeditText.bind(this));
this._context.connect('show-preedit-text', this._onShowPreeditText.bind(this)); this._context.connect('show-preedit-text', this._onShowPreeditText.bind(this));
@ -88,6 +89,9 @@ export const InputMethod = GObject.registerClass({
this._context.connect('forward-key-event', this._onForwardKeyEvent.bind(this)); this._context.connect('forward-key-event', this._onForwardKeyEvent.bind(this));
this._context.connect('destroy', this._clear.bind(this)); this._context.connect('destroy', this._clear.bind(this));
if (HAVE_REQUIRE_SURROUNDING_TEXT)
this._context.connect('require-surrounding-text', this._onRequireSurroundingText.bind(this));
Main.keyboard.connectObject('visibility-changed', () => this._updateCapabilities()); Main.keyboard.connectObject('visibility-changed', () => this._updateCapabilities());
this._updateCapabilities(); this._updateCapabilities();