focus in/out: terminal checks whether it is a state change or not

This commit is contained in:
Daniel Eklöf 2020-07-09 09:16:54 +02:00
parent a6da07b3dd
commit 6bbd4a5110
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 7 additions and 19 deletions

View file

@ -1964,7 +1964,8 @@ term_has_kbd_focus(struct terminal *term)
void
term_kbd_focus_in(struct terminal *term)
{
assert(term_has_kbd_focus(term));
if (term_has_kbd_focus(term))
return;
if (term->focus_events)
term_to_slave(term, "\033[I", 3);
@ -1973,7 +1974,8 @@ term_kbd_focus_in(struct terminal *term)
void
term_kbd_focus_out(struct terminal *term)
{
assert(!term_has_kbd_focus(term));
if (term_has_kbd_focus(term))
return;
if (term->focus_events)
term_to_slave(term, "\033[O", 3);