Wayfile is a comprehensive overhaul of HyprFM by Soyeb Pervez Jim. Built on HyprFM's foundations, the 1.0.0 release reworks the project from the ground up: an entirely new visual layer — thin-frame type-coloured icons, glowing tabs, a unified Places sidebar, a compass-folder logo, an Inter · Cormorant · JetBrains Mono type stack, and five live accent presets — plus a hybrid default view, merged tabs, network locations, and a token-driven theme system. Wayfile wouldn't exist without HyprFM — all credit for the original file manager goes to Soyeb Pervez Jim.
Wayfile is a Qt6/QML file manager built to feel native on Wayland: lightweight, fast, and unapologetically keyboard-driven. Its signature look is Bifröst — a deep obsidian surface with a warm gate-glow gold accent — and its default layout is the hybrid view: a folder grid stacked over a sortable file list with one shared selection. Underneath the polish sit the features power users actually reach for: Miller columns, split panes, merged tabs, async file operations, rich previews, git status, and a live theme system with five accent presets.
The default hybrid view — a folder grid over a sortable file list, the unified Places sidebar with a live disk meter, and the obsidian + gold Bifröst skin.
Bifröst ships with five accent presets. Pick one in Settings → Colours and the entire interface — folders, tabs, sidebar, breadcrumb, meters — recolours instantly, while file-type colours stay fixed so files remain recognisable.
- Hybrid (default) — a folder grid stacked over a sortable file list, with one unified selection across both halves; the file list sorts independently.
- Grid (
Ctrl+1) —Ctrl+Scrollto zoom; the icon size stays constant while columns reflow to fill the width. - Detailed (
Ctrl+3) — sortableName · Modified · Type · Sizecolumns, folder item counts, image/video thumbnails. - Miller columns (
Ctrl+2) — parent · current · live preview, with a metadata panel for the focused item. - Quick preview (
Space) — a full-screen overlay for images, video, PDFs, and text with a rich metadata sidebar;←/→browse neighbours. - Split panes / merged tabs (
F3) — up to four directories side by side, each with its own path strip and item count.
Grid view — thin-frame, type-coloured file glyphs (PDF, code, archive, config…), gold folders, and inline image/video thumbnails.
Miller columns with a live preview column and a per-item metadata panel.
- Full keyboard navigation — arrows, history, type-ahead jump-to-file
- Tabs with independent per-pane history; merge tabs into a split "supertab" (the merge button joins the active tab with its right-hand neighbour, badged
×N) - Breadcrumb path bar with inline editing (
Ctrl+L) and suggestions - Unified sidebar — Favorites with per-bookmark colour tags, an expandable Places tree of your XDG folders, mounted devices with live capacity meters, network locations, and Trash; collapsible to a compact icon rail
- Kinetic wheel scrolling with momentum and rubber-band overscroll
- Rubber-band selection; contiguous selections render as one rounded gold outline
- Async copy / move via
rsyncandgiowith live progress, speed, ETA, and pause - Drag & drop between panes, tabs, and external apps (Wayland-native)
- Trash with restore (XDG-compliant) · Bulk rename with regex find/replace
- Compress / extract archives · Open With from
.desktopentries · Undo / redo
- Bifröst, the signature obsidian + gold theme, plus four more live accent presets — Aurora (teal), Nebula (violet), Ember (coral), and Verdant (green)
- Colours settings page — pick a preset and the whole UI retints live, fine-tune any palette token (swatch + hex), and save your own palette as a named theme; a contrast warning flags an accent that's too dark against the background
- TOML themes with live reload — drop a file in
themes/, pick it in Settings, no restart - Thin-frame SVG icon set — type-coloured file glyphs and accent-coloured folders, rendered via Qt Shapes, with a soft gold bloom on hover and selection
- Type stack — Inter (UI), Cormorant Garamond (display), and JetBrains Mono (mono), all bundled
- Configurable corner radius, fonts, animation timing, and transparency
- Compositor blur on supporting Wayland compositors, plus native KWin blur on KDE Plasma
- udisks2 mount/unmount of removable drives · gvfs / gio for SFTP, SMB, MTP, trash
- Git status overlays in every view (modified, staged, untracked, …)
- wl-clipboard clipboard · bat syntax highlighting · ffmpeg video posters · Poppler PDF previews
yay -S wayfile-gitThe PKGBUILD clones the latest main, builds with Ninja, and installs to /usr/bin/wayfile.
git clone --recursive https://github.com/blackbartblues/Wayfile.git
cd Wayfile
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF
cmake --build build --parallel
./build/src/wayfileNote:
--recursivepulls the quill-icons icon submodule. (The Quill control library is vendored directly insrc/qml/Quill/, so it is not a submodule.)
| Packages | |
|---|---|
| Required (build) | cmake, ninja, qt6-base, qt6-declarative, qt6-svg |
| Required (runtime) | qt6-base, qt6-declarative, qt6-svg, qt6-multimedia, qt6-wayland, glib2, fd, rsync, xdg-utils |
| Optional | kwindowsystem (native KDE blur), wl-clipboard (clipboard), bat (syntax highlighting), gvfs / gvfs-smb (remote filesystems), ffmpeg (video thumbnails), udisks2 (device mounting), poppler-qt6 (PDF previews) |
| Shortcut | Action |
|---|---|
Return / Double-click |
Open file or directory |
Backspace / Alt+Up |
Parent directory |
Alt+Left / Alt+Right |
Back / Forward in history |
Ctrl+L |
Focus path bar |
Ctrl+F |
Search |
Type any letter |
Type-ahead jump to file |
| Shortcut | Action |
|---|---|
Ctrl+1 |
Grid view |
Ctrl+2 |
Miller column view |
Ctrl+3 |
Detailed view |
Ctrl+Scroll |
Zoom |
Space |
Quick preview |
F3 |
Merge / split panes |
F9 |
Toggle sidebar |
Ctrl+H |
Toggle hidden files |
The hybrid view is the default and is reachable from the view switcher in the status bar.
| Shortcut | Action |
|---|---|
Ctrl+T / Ctrl+W |
New / Close tab |
Ctrl+Shift+T |
Reopen closed tab |
Ctrl+Tab / Ctrl+Shift+Tab |
Cycle tabs |
| Shortcut | Action |
|---|---|
Ctrl+C / Ctrl+X / Ctrl+V |
Copy / Cut / Paste |
Ctrl+A |
Select all |
Ctrl+Z / Ctrl+Shift+Z |
Undo / Redo |
F2 |
Rename |
Delete / Shift+Delete |
Trash / Permanent delete |
Ctrl+Shift+N / Ctrl+N |
New folder / New file |
Ctrl+, |
Open Settings |
All shortcuts can be remapped in ~/.config/wayfile/config.toml under [shortcuts].
Config lives at ~/.config/wayfile/config.toml, created with sensible defaults on first run.
[general]
theme = "bifrost" # filename in themes/ without .toml
icon_theme = "Adwaita" # system icon theme fallback
builtin_icons = true # use the bundled SVG icons
default_view = "hybrid" # hybrid | grid | detailed | miller
show_hidden = false
sort_by = "name" # name | size | modified | type
sort_ascending = true
grid_cell_size = 150 # grid zoom (110–320), persisted across restarts
[appearance]
radius_small = 4
radius_medium = 6
radius_large = 10
transparency_enabled = true
transparency_level = 0.5 # 0 = fully transparent, 1 = opaque
animations_enabled = true
[sidebar]
position = "left"
width = 270
visible = true
compact = false # collapse to a 56px icon rail
hidden_entries = ["places.recents"] # sidebar rows hidden via right-click
[bookmarks]
paths = ["~/Documents", "~/Downloads", "~/Pictures", "~/Projects"]
[shortcuts]
# Override any shortcut, e.g.:
# rename = "F2"
# miller_view = "Ctrl+2"Wayfile is built on a shared obsidian base plus a single accent. The five shipped presets — Bifröst, Aurora, Nebula, Ember, and Verdant — each change just one value, the accent; the gold/accent ramp, glows, and chrome tints are derived from it live, so the whole UI retints from one colour. File-type and git-status colours are deliberately fixed so files stay recognisable across themes.
A theme is a TOML file with a [colors] table. The minimal form is a single accent:
# themes/aurora.toml — a preset is a one-line accent swap on the obsidian base
[colors]
accent = "#57C7BF"You can override more of the palette in the same table if you want a fuller re-skin:
[colors]
base = "#1E2126"; mantle = "#15181C"; crust = "#0D0F13"; surface = "#25292E"
text = "#ECE7DC"; subtext = "#9CA0A8"; muted = "#787E85"
accent = "#D4AA6A"; success = "#84C98A"; warning = "#E68B5C"; error = "#C97070"Don't want to hand-edit TOML? The Settings → Colours page has a swatch picker for the five presets that applies live, plus token-by-token editing (swatch + hex field) and a Save action that writes your palette to ~/.config/wayfile/themes/<name>.toml as a new selectable theme. A live warning flags an accent that's too low-contrast against the background. Drop any TOML file into themes/ (or your config folder) and it shows up in the picker — no restart.
Wayfile is a three-layer Qt6 application:
- QML frontend (
src/qml/) — all rendering.Main.qmlwires tab state, selection, and shortcuts.FileViewContainerswitches betweenHybridView,FileGridView,FileDetailedView, andFileMillerView. Theme tokens come from theTheme/Fonts/FileTypeColors/GitColorsQML singletons; the vendored Quill library (insrc/qml/Quill/) provides themed controls, bridged onto Wayfile's tokens inMain.qml. - C++ backend (
src/models/,src/services/,src/providers/) —QAbstractListModelsubclasses for files, tabs, bookmarks, devices, and network locations; async services for config, theming, clipboard, file operations, search, disk usage, and previews.ThemeLoaderparses the active TOML into the liveThemesingleton, deriving the accent ramp. Exposed to QML viasetContextProperty. - System layer —
rsync/gioviaQProcess, UDisks2 over DBus,wl-copyfor the clipboard.
See CLAUDE.md for the full architecture notes.
Issues and PRs welcome. A few notes:
- Run the tests with
ctest --test-dir buildafter changes (Qt6::Test). - Match the existing 4-space-indent style for QML and C++.
- Initialise submodules after pulling:
git submodule update --init --recursive.
MIT. Wayfile is a fork maintained by blackbartblues, building on the original HyprFM by Soyeb Pervez Jim.
Built with Qt 6 · UI icons from Lucide · file-type & folder icons from Material Icon Theme (MIT) · type by Inter (OFL), Cormorant Garamond (OFL) & JetBrains Mono (OFL) · inspired by macOS Finder, Nautilus, and Dolphin.






