A file manager.
  • QML 52.3%
  • C++ 44.9%
  • CMake 2.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-26 09:24:41 +05:00
docs/screenshots docs: add screenshots 2026-10-24 21:37:33 +05:00
po i18n: translate the Seurat note 2026-10-25 20:37:44 +05:00
resources feat: add the cfgd schema of the settings 2026-10-26 09:24:40 +05:00
src feat: move settings.ini to cfgd on the first start 2026-10-26 09:24:41 +05:00
.gitignore chore: add gitignore and GPL-3.0 license 2026-10-24 10:19:45 +05:00
CMakeLists.txt feat: store the settings in cfgd 2026-10-26 09:24:40 +05:00
CONTRIBUTING.md docs: describe the settings in cfgd 2026-10-26 09:24:41 +05:00
LICENSE chore: add gitignore and GPL-3.0 license 2026-10-24 10:19:45 +05:00
README.md docs: describe the settings in cfgd 2026-10-26 09:24:41 +05:00
ROADMAP.md docs: add contributing guide and describe recent files and clipboard 2026-10-24 20:53:44 +05:00

Sanar Filer

Note

Repository Mirrors

  • git.nuros.org (sanarde/filer): primary, self-hosted Forgejo instance, accounts restricted to the core team.
  • GitHub (sanarde/filer): mirror for external contributors. Issues and Pull Requests opened here are welcome and are reviewed and processed by the core team.

Grid view, light theme

List view, dark theme

Settings dialog

About

Sanar Filer is a file manager for SanarDE.

The application id is org.nuros.sanar.filer.

Dependencies

  • Qt 6.8 or newer (Core, Gui, Quick, DBus)
  • Sanar Style
  • cfgd (libcfgd)
  • CMake 3.21 or newer
  • A C++20 compiler
  • gettext tools (xgettext, msgmerge, msgfmt)

Optional at run time:

  • The cfgd daemon, to keep the settings (without it the defaults are used and changes are not saved)
  • UDisks2, for mounting and ejecting devices
  • Thumbnailers in /usr/share/thumbnailers, for video and PDF thumbnails

Build

cmake -S . -B build -G Ninja
cmake --build build
./build/src/sanar-filer

If Sanar Style is installed outside the system prefix, pass its prefix with -DCMAKE_PREFIX_PATH=<prefix> when configuring and set QML_IMPORT_PATH=<prefix>/lib/qt6/qml when running.

To install, run cmake --install build --prefix <prefix>. This installs the executable, the icons, the desktop file and the AppStream metadata.

Settings

Settings are stored in cfgd under /org/nuros/sanar/filer/. The schema is resources/cfgd/org.nuros.sanar.filer.schema; installation puts it in <prefix>/share/cfgd/schemas, and when running from the build tree it can be copied to $XDG_DATA_HOME/cfgd/schemas. A change made in another instance or with cfgd set is applied without a restart.

On the first start the values of the old ~/.config/sanar-filer/settings.ini are moved to cfgd and the file is renamed to settings.ini.migrated. The window size is not saved.

Translations

Message catalogs are in po. After changing strings in QML, run cmake --build build --target update-po. To run from the build tree, configure with -DSANAR_FILER_LOCALEDIR=$PWD/build/locale.

Palettes

Colors, palettes and fonts come from Sanar Style. See its documentation for the palette format and the location of custom palettes.

Thumbnails

Thumbnails are cached in $XDG_CACHE_HOME/thumbnails following the freedesktop thumbnail specification. Images are decoded directly. Video and PDF thumbnails are produced by the thumbnailers installed on the system (/usr/share/thumbnailers/*.thumbnailer, for example totem-video-thumbnailer or papers-thumbnailer). Without a matching thumbnailer a generic icon is shown.

Devices

Removable volumes are listed in the sidebar. Mounting, unmounting and powering off use the UDisks2 service on the system bus. Without the service only mounted volumes are shown and the eject button is not available.

Recent files

The Recent location lists existing files from $XDG_DATA_HOME/recently-used.xbel, newest first. The file is read only. Sanar Filer does not add entries to it.

Clipboard

Copy and cut place the selected files on the system clipboard as text/uri-list and x-special/gnome-copied-files, so files can be pasted between applications.

License

GNU General Public License v3.0. See LICENSE.