Fika is a Linux-focused Rust file manager. The UI mainline is now the default
fika binary, a Fika-specific winit + wgpu shell; the previous UI runtimes
have been removed from the source tree.
fikais the default run target and the only in-tree file-manager UI.winitcomes from official upstreamrust-windowing/winitmaster.wgpucomes from the official crates.io release.fika-corestays UI-neutral and owns filesystem/domain behavior.- Clipboard integration uses
wl-copy/wl-pasteorxclipwhen those Linux tools are available; Fika does not carry a direct Smithay clipboard runtime dependency. - Portal and privileged-helper binaries remain separate integration pieces.
src/
lib.rs UI-neutral core exports
main.rs winit/wgpu shell entry point
core.rs Core module re-exports
cli.rs Shared CLI parsing entry point
cli/
args.rs Manager/chooser argument parsing
core/ Directory, pane, operations, launcher,
Places, devices, thumbnails, trash, D-Bus
shell/ Extracted shell modules
bin/
fika-xdp-filechooser.rs XDG Desktop Portal FileChooser backend
fika-privileged-helper.rs D-Bus helper for privileged operations
cargo run --bin fika -- --view compact /etc
cargo test --bin fikaBecause default-run is fika, this also starts the current shell:
cargo run -- /etc- Pane state is routed by stable pane identity and stored through reusable pane containers, so split panes use the same state/projection/slot-pool path.
- Hot item views are retained and virtualized: visible-slot reuse, cached projection, cached text/icon atlas work, and explicit scroll metrics.
- Core behavior follows Dolphin as the first reference for file-manager semantics, while the shell owns rendering, hit testing, DPI, input routing, overlays, and telemetry.
- docs/TODO.md — current task board.
- docs/WGPU_SHELL_ROADMAP.md — UI runtime route and migration gates.