Index: uspace/app/taskbar/test/wndlist.c
===================================================================
--- uspace/app/taskbar/test/wndlist.c	(revision c4a532808937c922172db7bb84d8491f7ec90f07)
+++ uspace/app/taskbar/test/wndlist.c	(revision ca9aa89725c482ce79e177d522089b17b718aaba)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2022 Jiri Svoboda
+ * Copyright (c) 2023 Jiri Svoboda
  * All rights reserved.
  *
@@ -208,5 +208,5 @@
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
-	rc = wndlist_append(wndlist, 123, "Foo", true);
+	rc = wndlist_append(wndlist, 123, "Foo", true, true);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
@@ -214,4 +214,5 @@
 	PCUT_ASSERT_INT_EQUALS(123, entry->wnd_id);
 	PCUT_ASSERT_NOT_NULL(entry->button);
+	PCUT_ASSERT_TRUE(ui_pbutton_get_light(entry->button));
 
 	wndlist_destroy(wndlist);
@@ -248,8 +249,8 @@
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
-	rc = wndlist_append(wndlist, 1, "Foo", true);
-	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
-
-	rc = wndlist_append(wndlist, 2, "Bar", true);
+	rc = wndlist_append(wndlist, 1, "Foo", true, true);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	rc = wndlist_append(wndlist, 2, "Bar", false, true);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
@@ -269,4 +270,52 @@
 }
 
+/** Test updating entry */
+PCUT_TEST(update)
+{
+	errno_t rc;
+	ui_t *ui = NULL;
+	ui_wnd_params_t params;
+	ui_window_t *window = NULL;
+	ui_fixed_t *fixed = NULL;
+	wndlist_t *wndlist;
+	wndlist_entry_t *entry;
+
+	rc = ui_create_disp(NULL, &ui);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	ui_wnd_params_init(&params);
+	params.caption = "Hello";
+
+	rc = ui_window_create(ui, &params, &window);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+	PCUT_ASSERT_NOT_NULL(window);
+
+	rc = ui_fixed_create(&fixed);
+	ui_window_add(window, ui_fixed_ctl(fixed));
+
+	rc = wndlist_create(window, fixed, &wndlist);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	rc = wndlist_append(wndlist, 1, "Foo", true, true);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	entry = wndlist_first(wndlist);
+	PCUT_ASSERT_INT_EQUALS(1, entry->wnd_id);
+	PCUT_ASSERT_NOT_NULL(entry->button);
+	PCUT_ASSERT_TRUE(ui_pbutton_get_light(entry->button));
+
+	rc = wndlist_update(wndlist, entry, "Bar", false);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	PCUT_ASSERT_INT_EQUALS(1, entry->wnd_id);
+	PCUT_ASSERT_NOT_NULL(entry->button);
+	PCUT_ASSERT_FALSE(ui_pbutton_get_light(entry->button));
+
+	wndlist_destroy(wndlist);
+
+	ui_window_destroy(window);
+	ui_destroy(ui);
+}
+
 /** Test setting entry rectangle */
 PCUT_TEST(set_entry_rect)
@@ -296,5 +345,5 @@
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
-	rc = wndlist_append(wndlist, 123, "Foo", true);
+	rc = wndlist_append(wndlist, 123, "Foo", true, true);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
@@ -337,8 +386,8 @@
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
-	rc = wndlist_append(wndlist, 1, "Foo", true);
-	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
-
-	rc = wndlist_append(wndlist, 2, "Bar", true);
+	rc = wndlist_append(wndlist, 1, "Foo", true, true);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	rc = wndlist_append(wndlist, 2, "Bar", false, true);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
@@ -384,8 +433,8 @@
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
-	rc = wndlist_append(wndlist, 1, "Foo", true);
-	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
-
-	rc = wndlist_append(wndlist, 2, "Bar", true);
+	rc = wndlist_append(wndlist, 1, "Foo", true, true);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	rc = wndlist_append(wndlist, 2, "Bar", false, true);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
@@ -434,8 +483,8 @@
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
-	rc = wndlist_append(wndlist, 1, "Foo", true);
-	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
-
-	rc = wndlist_append(wndlist, 2, "Bar", true);
+	rc = wndlist_append(wndlist, 1, "Foo", true, true);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	rc = wndlist_append(wndlist, 2, "Bar", false, true);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
@@ -480,5 +529,5 @@
 	PCUT_ASSERT_INT_EQUALS(0, count);
 
-	rc = wndlist_append(wndlist, 1, "Foo", true);
+	rc = wndlist_append(wndlist, 1, "Foo", true, true);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
@@ -486,5 +535,5 @@
 	PCUT_ASSERT_INT_EQUALS(1, count);
 
-	rc = wndlist_append(wndlist, 2, "Bar", true);
+	rc = wndlist_append(wndlist, 2, "Bar", false, true);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
@@ -524,8 +573,8 @@
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
-	rc = wndlist_append(wndlist, 1, "Foo", true);
-	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
-
-	rc = wndlist_append(wndlist, 2, "Bar", true);
+	rc = wndlist_append(wndlist, 1, "Foo", true, true);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	rc = wndlist_append(wndlist, 2, "Bar", false, true);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 
