Atlas is a fast, lightweight Material Design 3 file manager and file picker built with Qt 6 and QML.
- C++20 compiler: GCC 11+ or Clang 14+
- CMake 3.19+
- Ninja build system
- pkg-config
- Qt 6.5+ development packages:
Qt6CoreQt6GuiQt6QmlQt6QuickQt6QuickControls2Qt6QuickEffectsQt6ConcurrentQt6SvgQt6MultimediaQt6NetworkQt6DBus
- Qt 6 runtime libraries:
qt6-declarative/qt6-qmlqt6-quickcontrols2qt6-quickeffectsqt6-svgqt6-multimediaqt6-networkqt6-dbus
udisks2: external drive and partition detection, mounting, and unmountinggvfsandgvfs-backends: remote network filesystem mounting for SFTP, SMB, FTP, NFS, WebDAVgio: command-line URI mounting and volume managementxdg-utils: default application launching viaxdg-opengit: inline repository status, branch tracking, and Git modal operationsffmpeg: media tools for video and audio (trim/clip, format conversion, rotate/flip)imagemagick: image conversion in the Media Tools menu (supports any readable format, including SVG, PDF, HEIC)exiv2(development package at build time): EXIF metadata display for photos in the preview panel and properties dialog; builds without it when absentcaelestia-cli: dynamic color palette and accent syncing with Caelestiapapirus-icon-themeandpapirus-folders: dynamic folder color and system icon theme integration- Archive tools:
p7zip,tar,gzip,bzip2,xz,zip,unzipfor archive extraction and compression
# Configure
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
# Build
cmake --build build
# Run file manager locally
./build/bin/atlas
# Run picker mode directly
./build/bin/atlas -p# Install system-wide: installs atlas and its desktop entry
sudo cmake --install build
# Or install to a custom prefix
cmake --install build --prefix ~/.local# Remove all installed files recorded in the build manifest
sudo xargs rm -fv < build/install_manifest.txtFor desktop-wide portal integration (system file chooser dialogs in browsers, editors, and other applications), use Wormhole, which can drive Atlas in picker mode.
To ensure the picker opens centered as a floating modal, add a window rule for the picker title.
In your hyprland.conf:
windowrulev2 = float, title:^(.*Atlas File Picker.*)$
windowrulev2 = center, title:^(.*Atlas File Picker.*)$
windowrulev2 = size 1000 620, title:^(.*Atlas File Picker.*)$
windowrulev2 = focusonactivate, title:^(.*Atlas File Picker.*)$local rules = {
{
pattern = ".*Atlas File Picker.*",
type = "title",
float = true,
center = true,
size = "1000 620",
focus = true
}
}Atlas can also be invoked directly in picker mode by scripts or external tools:
# Open file picker
atlas -p -t "Select File" -d ~/Documents
# Save file picker
atlas -p -s -t "Save As" -d ~/Downloads
# Directory only picker
atlas -p --directory-only -t "Select Directory"
# Filter by extensions
atlas -p -f "png,jpg,webp" -t "Select Image"This project is licensed under the GNU General Public License v3.0 (GPLv3).
Atlas incorporates design tokens, QML components, animations, and styling derived from Caelestia Shell. Heavy credit and gratitude go to the authors and contributors of Caelestia Shell for their work under the GPLv3 license.