๐ File manager (executable) โ
The file manager executable provides a graphical VFS browser with directory navigation controls.
Role โ
- Presents VFS directory contents in a graphical list view.
- Handles path navigation (home/up/go/refresh) and directory item traversal.
- Registers launcher shortcut metadata for shell discovery.
Startup and lifecycle โ
- Installation path writes
/configuration/shared/shortcuts/file_manager.json. - Runtime path creates window, toolbar, path text area, and file list widgets.
- Loads current directory entries, sorts directories-first, and renders list buttons.
- Processes click/close events in loop until window close.
Runtime integration points โ
- Graphics/LVGL for window/list/event handling.
virtual_file_system::Directoryfor directory iteration.- Task manager for current task identifier during VFS operations.
Data and control flow / VFS touchpoints โ
- Core VFS touchpoint:
Directory::open(..., current_path)+ iterativeread(). - Navigation updates
current_path, then refreshes UI from VFS. - File entries are transformed into in-memory
FileItemrecords before rendering.
Concurrency and event-loop model โ
- Single event-processing loop with periodic sleep (
50 ms) in top-level executable. - Event handlers run async and mutate local state; no multi-task background workers are created.
Failure semantics โ
- UI object creation failures return typed
Errorand abort startup. - VFS open/read failures propagate through executable error mapping.
- Invalid path text input logs error and retains current path.
Contract vs implementation โ
- Contract: graphical executable that reflects directory state and reacts to navigation events.
- Current implementation: LVGL list-based browser with direct directory-only navigation and no file-open dispatch path.
Operational limitations โ
- Operations are currently browse-oriented; edit/copy/move/delete workflows are not implemented in top-level flow.
- Path input accepts raw text and relies on
PathOwnedvalidation.