Skip to content
RegulusArmsPublic

Latest commit

 

History

216 Commits

Folders and files

Repository files navigation

Kestrel Explorer (C++)

Release build Dev build Release apt repository Runs on C++ / Qt 6 Languages License: MIT

Version 0.3.3-alpha.0. This is an early alpha release, so expect rough edges.

Why do Linux users still need five separate utilities and a terminal to do normal filesystem work?

That's the question Kestrel sets out to answer, and why I'm building it.

A file manager for Ubuntu and Linux Mint that's easy to pick up and puts many jobs you'd normally do in a terminal into the window. It also adds quality-of-life improvements over GNOME Files. It's written in C++ with Qt 6.

Kestrel Explorer's Overview page: drives with usage bars, phones and cameras, network locations and bookmarks

Terminal jobs, in the window:

  • Archives: create and extract 7z, zip, rar, zpaq and every tar format, with the options the command-line tools offer (level, method, threads, passwords, split volumes), and a preview of the exact command that will run. Double-click an archive to extract it.
  • Admin rights only when needed: when an everyday file operation fails with "permission denied", choose Retry as Administrator and enter your password once per session, instead of running a file manager as root. It's for simple copies, moves, renames and deletes, not a replacement for the terminal for system administration.
  • Permissions and links: permissions, including setuid, setgid and the sticky bit; symbolic, relative and hard links; and MD5/SHA checksums with verification. Double-click a checksum file (.sfv, .md5, .sha256, SHA256SUMS…) to check every file it lists. Right-click files or folders and choose Create Checksum File… to make one.
  • Metadata: view and edit EXIF, XMP and other metadata with exiftool, from a searchable list of tags.
  • Search and rename: search subfolders with wildcards or inside files, and batch rename with templates or regular expressions.
  • Shortcuts out: Open in Terminal or VS Code, your Nautilus scripts, and Samba network sharing.
  • Secure deletion: with BleachBit installed, shred files and folders or empty the trash so they can't be recovered, from the right-click menu; kes-setup --bleachbit also adds a cleaner for Kestrel's own cache and history to BleachBit.

Compared with GNOME Files, Nemo and Dolphin: what Kestrel adds over each, what it doesn't have yet, and how it installs alongside them without changing them: Kestrel compared with other file managers.

Install

With apt (amd64), from the releases channel. Each Ubuntu release has its own package, so use your system's commands (grep UBUNTU_CODENAME /etc/os-release prints resolute on Ubuntu 26.04 and Kubuntu 26.04, noble on 24.04 and Linux Mint 22).

Ubuntu 26.04 and Kubuntu 26.04 (and the other 26.04 flavours):

sudo install -d -m 755 /etc/apt/keyrings
sudo curl -fsSLo /etc/apt/keyrings/kestrel.asc https://regulusarms.github.io/kes-c/kestrel.asc
printf 'Types: deb\nURIs: https://regulusarms.github.io/kes-c\nSuites: resolute\nComponents: main\nSigned-By: /etc/apt/keyrings/kestrel.asc\n' \
  | sudo tee /etc/apt/sources.list.d/kestrel.sources
sudo apt update && sudo apt install kestrel-explorer
kes-setup --default   # optional: make it your file manager (kes-setup --undo puts things back)

On Kubuntu, kes-setup --default makes Kestrel open folders in place of Dolphin (and, if Dolphin is pinned in the taskbar, asks whether to put Kestrel in its place); Dolphin stays installed and keeps working, and kes-setup --undo gives folders back to it. See Kubuntu 26.04 in the install guide.

Ubuntu 24.04 and Linux Mint 22:

sudo install -d -m 755 /etc/apt/keyrings
sudo curl -fsSLo /etc/apt/keyrings/kestrel.asc https://regulusarms.github.io/kes-c/kestrel.asc
printf 'Types: deb\nURIs: https://regulusarms.github.io/kes-c\nSuites: noble\nComponents: main\nSigned-By: /etc/apt/keyrings/kestrel.asc\n' \
  | sudo tee /etc/apt/sources.list.d/kestrel.sources
sudo apt update && sudo apt install kestrel-explorer
kes-setup --default   # optional: make it your file manager (kes-setup --undo puts things back)

From source:

./install.sh             # installs build tools if needed, builds, adds `kes` to ~/.local/bin and the app grid
./install.sh --default   # ...and makes it your file manager

The install guide covers the development-builds channel, switching channels (and from the older stable/dev suites), which .deb to download by hand, what --default and --dock change, building by hand, BleachBit and uninstalling.

Supported systems

  • Ubuntu 26.04 (GNOME): the main platform; everything is tested here.
  • Linux Mint 22 (Cinnamon): supported since 0.2.0. Kestrel builds and runs there, and the benchmark against Nemo was run there.
  • Ubuntu 24.04 (GNOME): tested; Kestrel installs and runs there (from the apt repository too). It has the same base as Linux Mint 22.
  • Kubuntu 26.04 (KDE Plasma): supported since 0.3.2-alpha.33; Kestrel follows Plasma's look and settings (see the install guide). Some parts are still to be tried in a full Plasma session: passwords in KWallet, network shares and phones, and drop focus on Wayland.

Documentation

Page What's in it
Install guide apt channels, building from source, making Kestrel the default file manager, the file chooser, BleachBit, Linux Mint, Ubuntu 24.04 and Kubuntu notes
Dependencies The packages needed to build, the recommended ones and the optional ones, and what each is used for
Compared with other file managers What Kestrel adds over GNOME Files, Nemo and Dolphin, what it doesn't have yet, and how it installs alongside them
Features File management, galleries and folder previews, the Overview page, phones and cameras, the image viewer, checksum files
Right-click menus Every right-click menu, what each entry does and what it works on
Archives Extracting and compressing, formats, progress and cancelling, passwords and security, known limitations
Translations The languages Kestrel is shown in, and how to report a wrong translation
Admin session Retry as Administrator: how it works, what it covers, and how the root helper is kept safe
Performance Benchmarks against GNOME Files, Nemo, Dolphin, Thunar, Krusader and PCManFM
Bugs found elsewhere Problems in the desktop and other programs that get in Kestrel's way, how they were found, and how to work around them
Design philosophy Why Kestrel wraps the standard command-line tools instead of rebuilding them, how it copes when a tool changes, and how it's tested
Development Architecture, the source layout, tests and performance counters
Tests Running the test suite, what each test checks, CI, and adding a test (test changelog)
Changelog What changed in each version
To do Planned additions, fixes and changes

License

MIT. See LICENSE.