Skip to content

Repository files navigation

Explorer app icon

Explorer

Windows File Explorer for macOS, Linux, and Windows. Built in pure Rust with GPUI.

Latest release Coverage Downloads License

💾 Install | ⚡ Features | 🔃 Anti-Features

Explorer UI

💾 Install

➡️ Manually Download The Latest Release Here, or install via one of the supported package managers:

➡️ macOS via Homebrew

First launch may need approval in System Settings → Privacy & Security

brew install --cask hmerritt/tap/explorer

➡️ Linux installer

curl -fsSL https://raw.githubusercontent.com/hmerritt/explorer/master/install.sh | sh

➡️ Windows via Scoop

scoop bucket add hmerritt https://github.com/hmerritt/scoop-bucket
scoop install hmerritt/explorer

⚡ Features

  • Cross-platform macOS, Linux (Wayland/X11), and Windows
  • GPU-accelerated Explorer UI (GPUI)
  • Tabs
  • Arrow keys navigation
  • Sidebar custom pins (drag-to-pin)
  • Key bindings for everything most things
  • HTTP, HTTPS, FTP, and SFTP file URLs can be downloaded directly when pasted
  • yt-dlp integration, supported URLs can be downloaded as videos when pasted
  • Native ZIP creation with Finder-style Compress naming and progress
  • A simple, functional, built-in image viewer (you can set explorer as the default image viewer)
  • Archive extraction (supported archive formats including 7z, bz2, gz, rar, tar, xz, zip, zst)
  • Search
    • Type-to-search current directory
    • Recursive search (no pre-indexing like Windows, but still pretty quick)
  • Git repo support
    • Branch
    • Outgoing/Incoming commits
    • Lines of code
    • Primary language used
    • Github-style language makup bar
  • Alt+hover special keybinding to instantly preview files
    • Images
    • Videos
    • PDF first-page preview
    • Text (plain text, logs, markdown, code files, etc...)
  • File properties
    • Generic file/folder information
    • Image preview in properties
    • Video frames preview in properties
    • In-depth image/video/audio metadata
    • Audio spectrum analyser (inspired by Spek)
    • Image EXIF tags (grouped and organised for ease-of-use)
  • Removable and portable storage
    • Native mounted volumes, USB mass storage, and optical media
    • Android phones, cameras, and media players using MTP/PTP
    • In-app copy/move, rename, folder creation, delete, thumbnails, and file opening when supported by the device

🔃 'Anti-Features' that will NOT be implemented

  • 3D Objects that gets used as much as a welcome mat at a house that never has visitors
  • File grouping that randomly appears when you didn't set it
  • List, Titles, and Content file view modes that are as pointless as a screen door on a submarine
  • Search that takes as long as a cross-country flight
  • Context menu delays that take longer than my wife does when deciding where to eat
  • Claiming it's built in 'pure rust' when really it's just a WebView wrapper with basic app logic in rust.

explorer-url-download.mp4

Downloading a file URL directly into the current directory.


Configuration

Explorer stores settings as JSON and watches the file for changes while the app is running.

  • macOS: ~/.config/explorer/settings.json
  • Linux: ${XDG_CONFIG_HOME:-~/.config}/explorer/settings.json
  • Windows: %USERPROFILE%/.config/explorer/settings.json

Minimal example:

{
    "app": {
        "copy_verify": true,
        "start": "~/Downloads"
    },
    "view": {
        "media_preview_size": 400,
        "mode": "details",
        "search_mode": "detailed",
        "show_extensions": true,
        "show_hidden": false,
        "show_folder_sizes": false
    }
}

app.copy_verify controls the final read-back verification for newly copied files. It defaults to true; set it to false to skip that verification while retaining checks needed for existing destinations, resumable copies, and safe fallback behavior.

view.search_mode controls recursive search result density. It accepts "detailed" (the default, with the full path beneath each filename) or "compact" (single-line rows with the full path available on hover).

Example with sidebar and contextmenu items:

{
    "app": {
        "start": "~/Downloads",
        "ytdlp_options": []
    },
    "view": {
        "mode": "details",
        "search_mode": "detailed",
        "show_extensions": true,
        "show_hidden": false,
        "show_folder_sizes": false
    },
    "sidebar": {
        "hide_groups": ["network", "wsl"],
        "hide_items": ["google_drive", "C:/"],
        "items": ["~", "~/Downloads", "~/Documents", "~/Pictures"],
        "width": 225
    },
    "contextmenu": [
        {
            "exe": "zed",
            "icon": "",
            "args": [],
            "label": "Open with Zed",
            "only": ["*directory", "*folders", "*files"]
        }
    ]
}

app.ytdlp_options is an array of command-line arguments passed to yt-dlp when a supported video URL is pasted into a folder. For example, ["--cookies-from-browser", "firefox"]. Explorer invokes yt-dlp directly, so each array entry is passed as one argument without shell parsing.

sidebar.hide_groups removes matching groups from the sidebar. It accepts "pinned", "drives", "network", and "wsl"; the default is an empty array.

sidebar.hide_items removes individual non-Pinned sidebar items. It accepts the reserved provider IDs "google_drive" and "onedrive", plus absolute filesystem or Explorer virtual paths for drives, mapped shares, portable devices, and WSL distributions. Its default is an empty array. The sidebar Hide context-menu action appends the corresponding value; remove it from this array to restore the item. On Windows, visible Google Drive and OneDrive roots are discovered from their default sync locations and appear in the Network group.

Context-menu entries can launch an external executable or invoke a built-in action. The native no-dialog ZIP action is configured as:

{
    "label": "Compress",
    "action": "compress",
    "only": ["*file", "*folder"]
}

Development

Explorer is a Rust 2024 project using GPUI.

cargo check --locked
cargo test --locked --all-targets
cargo run

Useful project docs:


Folder icons created by kmg design - Flaticon

About

Windows File Explorer for macOS, Linux, and Windows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages