IBUS: When creating the connection mark as focused if any top level window has focus. Fixes #5655

This commit is contained in:
Kovid Goyal 2022-11-10 07:21:34 +05:30
parent b15c9f7419
commit 8280899ce1
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

2
glfw/ibus_glfw.c vendored
View File

@ -383,7 +383,7 @@ input_context_created(DBusMessage *msg, const char* errmsg, void *data) {
enum Capabilities caps = IBUS_CAP_FOCUS | IBUS_CAP_PREEDIT_TEXT; enum Capabilities caps = IBUS_CAP_FOCUS | IBUS_CAP_PREEDIT_TEXT;
if (!glfw_dbus_call_method_no_reply(ibus->conn, IBUS_SERVICE, ibus->input_ctx_path, IBUS_INPUT_INTERFACE, "SetCapabilities", DBUS_TYPE_UINT32, &caps, DBUS_TYPE_INVALID)) return; if (!glfw_dbus_call_method_no_reply(ibus->conn, IBUS_SERVICE, ibus->input_ctx_path, IBUS_INPUT_INTERFACE, "SetCapabilities", DBUS_TYPE_UINT32, &caps, DBUS_TYPE_INVALID)) return;
ibus->ok = true; ibus->ok = true;
glfw_ibus_set_focused(ibus, false); glfw_ibus_set_focused(ibus, _glfwFocusedWindow() != NULL);
glfw_ibus_set_cursor_geometry(ibus, 0, 0, 0, 0); glfw_ibus_set_cursor_geometry(ibus, 0, 0, 0, 0);
debug("Connected to IBUS daemon for IME input management\n"); debug("Connected to IBUS daemon for IME input management\n");
} }