Index: uspace/app/terminal/terminal.c
===================================================================
--- uspace/app/terminal/terminal.c	(revision b3eeae586ec8b5fd5a43327f136f78e7ef242102)
+++ uspace/app/terminal/terminal.c	(revision eb630cffd5becb2a6f9b2fecb696cf3a2ed61212)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2021 Jiri Svoboda
+ * Copyright (c) 2023 Jiri Svoboda
  * Copyright (c) 2012 Petr Koupy
  * All rights reserved.
@@ -118,8 +118,8 @@
 
 static void terminal_close_event(ui_window_t *, void *);
-static void terminal_focus_event(ui_window_t *, void *);
+static void terminal_focus_event(ui_window_t *, void *, unsigned);
 static void terminal_kbd_event(ui_window_t *, void *, kbd_event_t *);
 static void terminal_pos_event(ui_window_t *, void *, pos_event_t *);
-static void terminal_unfocus_event(ui_window_t *, void *);
+static void terminal_unfocus_event(ui_window_t *, void *, unsigned);
 
 static ui_window_cb_t terminal_window_cb = {
@@ -833,8 +833,10 @@
 
 /** Handle window focus event. */
-static void terminal_focus_event(ui_window_t *window, void *arg)
+static void terminal_focus_event(ui_window_t *window, void *arg,
+    unsigned nfocus)
 {
 	terminal_t *term = (terminal_t *) arg;
 
+	(void)nfocus;
 	term->is_focused = true;
 	term_update(term);
@@ -878,11 +880,14 @@
 
 /** Handle window unfocus event. */
-static void terminal_unfocus_event(ui_window_t *window, void *arg)
+static void terminal_unfocus_event(ui_window_t *window, void *arg,
+    unsigned nfocus)
 {
 	terminal_t *term = (terminal_t *) arg;
 
-	term->is_focused = false;
-	term_update(term);
-	gfx_update(term->gc);
+	if (nfocus == 0) {
+		term->is_focused = false;
+		term_update(term);
+		gfx_update(term->gc);
+	}
 }
 
