Index: uspace/lib/tbarcfg/test/tbarcfg.c
===================================================================
--- uspace/lib/tbarcfg/test/tbarcfg.c	(revision e63e74a596d3dab316c056385061a0ffc336c62b)
+++ uspace/lib/tbarcfg/test/tbarcfg.c	(revision d92b8e8f16d19c0ce7828d8dfbc2f178747ce076)
@@ -30,4 +30,5 @@
 #include <pcut/pcut.h>
 #include <tbarcfg/tbarcfg.h>
+#include <stdbool.h>
 #include <stdio.h>
 
@@ -35,4 +36,10 @@
 
 PCUT_TEST_SUITE(tbarcfg);
+
+typedef struct {
+	bool notified;
+} tbarcfg_test_resp_t;
+
+static void test_cb(void *);
 
 /** Creating, opening and closing taskbar configuration */
@@ -554,3 +561,32 @@
 }
 
+/** Notifications can be delivered from tbarcfg_notify() to a listener. */
+PCUT_TEST(notify)
+{
+	errno_t rc;
+	tbarcfg_listener_t *lst;
+	tbarcfg_test_resp_t test_resp;
+
+	test_resp.notified = false;
+
+	printf("create listener resp=%p\n", (void *)&test_resp);
+	rc = tbarcfg_listener_create(TBARCFG_NOTIFY_DEFAULT,
+	    test_cb, &test_resp, &lst);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	rc = tbarcfg_notify(TBARCFG_NOTIFY_DEFAULT);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+
+	PCUT_ASSERT_TRUE(test_resp.notified);
+	tbarcfg_listener_destroy(lst);
+}
+
+static void test_cb(void *arg)
+{
+	tbarcfg_test_resp_t *resp = (tbarcfg_test_resp_t *)arg;
+
+	printf("test_cb: executing resp=%p\n", (void *)resp);
+	resp->notified = true;
+}
+
 PCUT_EXPORT(tbarcfg);
