Index: uspace/app/nav/panel.c
===================================================================
--- uspace/app/nav/panel.c	(revision 54ddb59be14baa078affd298a0ddbf53724d7b29)
+++ uspace/app/nav/panel.c	(revision e1f5fb191dfe5766d747cfd1c7466d29ff2d3e95)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2022 Jiri Svoboda
+ * Copyright (c) 2023 Jiri Svoboda
  * All rights reserved.
  *
@@ -60,9 +60,11 @@
 };
 
+static void panel_flist_activate_req(ui_file_list_t *, void *);
 static void panel_flist_selected(ui_file_list_t *, void *, const char *);
 
 /** Panel file list callbacks */
 static ui_file_list_cb_t panel_flist_cb = {
-	.selected = panel_flist_selected
+	.activate_req = panel_flist_activate_req,
+	.selected = panel_flist_selected,
 };
 
@@ -216,4 +218,5 @@
 	gfx_coord2_t pos;
 	ui_control_t *ctl;
+	ui_evclaim_t claim;
 
 	pos.x = event->hpos;
@@ -222,9 +225,13 @@
 		return ui_unclaimed;
 
+	ctl = ui_file_list_ctl(panel->flist);
+	claim = ui_control_pos_event(ctl, event);
+	if (claim == ui_claimed)
+		return ui_claimed;
+
 	if (!panel->active && event->type == POS_PRESS)
 		panel_activate_req(panel);
 
-	ctl = ui_file_list_ctl(panel->flist);
-	return ui_control_pos_event(ctl, event);
+	return ui_claimed;
 }
 
@@ -416,4 +423,16 @@
 }
 
+/** File list in panel requests activation.
+ *
+ * @param flist File list
+ * @param arg Argument (panel_t *)
+ */
+static void panel_flist_activate_req(ui_file_list_t *flist, void *arg)
+{
+	panel_t *panel = (panel_t *)arg;
+
+	panel_activate_req(panel);
+}
+
 /** File in panel file list was selected.
  *
