mirror of
https://github.com/swaywm/sway.git
synced 2025-10-28 05:40:16 -04:00
text_input: Ignore enable requests from unfocused windows
Unfocused windows shouldn't be allowed to activate the IM. This fixes an issue with swaymsg invocations that contain several commands which result in multiple swift focus changes. An application briefly gets text input focus, sends an enable request, then sway processes it and activates the IM only after the commands are all finished and focus is on something else which did not send an enable request.
This commit is contained in:
parent
0a740a24d9
commit
1ab573bf54
1 changed files with 4 additions and 0 deletions
|
|
@ -248,6 +248,10 @@ static void relay_send_im_state(struct sway_input_method_relay *relay,
|
|||
static void handle_text_input_enable(struct wl_listener *listener, void *data) {
|
||||
struct sway_text_input *text_input = wl_container_of(listener, text_input,
|
||||
text_input_enable);
|
||||
if (text_input->input->focused_surface == NULL) {
|
||||
sway_log(SWAY_DEBUG, "Enabling text input, but no longer focused");
|
||||
return;
|
||||
}
|
||||
if (text_input->relay->input_method == NULL) {
|
||||
sway_log(SWAY_INFO, "Enabling text input when input method is gone");
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue