50 lines
2.7 KiB
Markdown
50 lines
2.7 KiB
Markdown
# Wayfinder
|
|
|
|
Wayfinder is a compact graphical file manager for Linux desktops running Wayland. It is written in Rust and uses GTK 4. The main view is a directory listing with a configurable places sidebar; selecting a supported file opens an inline preview pane.
|
|
|
|
## What it does
|
|
|
|
- Browse directories by entering a path, using the places sidebar, or opening a folder from the file list.
|
|
- Filter the current directory, sort folders before files, and toggle hidden files with `Ctrl+H`.
|
|
- See file sizes and relative modification times in the list.
|
|
- Preview supported text and source files, with syntax colors enabled by default, and preview images in the side pane. Text previews are capped at 64 KiB by default.
|
|
- Open text files in Neovim inside Foot, images in imv, executable files in Foot, and other files with their default desktop application.
|
|
- Use keyboard shortcuts: `Ctrl+L` focuses the location field, `Backspace` goes to the parent directory, `F5` reloads the current directory, and `Esc` exits preview.
|
|
- Adjust window, pane, layout, color, place, and preview settings through nested INI configuration files.
|
|
|
|
Wayfinder is focused on browsing and previewing. It does not currently provide file copy, move, delete, rename, or mount operations.
|
|
|
|
## Requirements
|
|
|
|
Build requirements:
|
|
|
|
- Rust and Cargo (Rust 1.85 or newer)
|
|
- GTK 4 development files and `pkg-config`
|
|
|
|
The application uses GTK's Wayland support when launched in a Wayland session. Image preview uses `gdk-pixbuf-thumbnailer` in a Bubblewrap sandbox. JPEG preview also has a Python 3 and Pillow fallback for systems where GdkPixbuf lacks a JPEG loader. To open files from the list, Wayfinder can use Foot and Neovim for text, imv for images, and the system's default application for other file types.
|
|
|
|
## Build and run
|
|
|
|
```sh
|
|
cargo build --release
|
|
./target/release/wayfinder
|
|
```
|
|
|
|
|
|
## Configuration
|
|
|
|
Wayfinder reads `~/.config/wayfinder/config.ini`. Copy the example files from the source tree:
|
|
|
|
```sh
|
|
mkdir -p ~/.config/wayfinder
|
|
cp config.ini colors.ini ~/.config/wayfinder/
|
|
```
|
|
|
|
`config.ini` contains window and pane sizes, spacing, typography, preview limits, and places. It includes `colors.ini`, where all interface and syntax colors are defined. Set `code_preview = false` in the `[General]` section to disable syntax coloring.
|
|
|
|
Configuration files can include other INI files recursively. Add comma-separated file names under `[Includes]` in `config.ini` (for example, `files = colors.ini, work.ini`). Relative include paths are resolved from the including file, included values load first, and the including file overrides matching values. Places are defined in `[Places]` as `Name = path`; `~` and `~/...` paths are supported.
|
|
|
|
## License
|
|
|
|
Wayfinder is distributed under the MIT License. See `LICENSE` in the source repository.
|