Skip to content

salihgerdan/spaceman

Repository files navigation

spaceman

Treemap disk usage analyzer: In search of lost space (a.k.a. wata-analyzer)
Screenshot Warning: beta software (however, usable)

Features

  • Fast scan and display, with the power of Rust, and gtk4 gpu rendering capabilities
  • Uses the jwalk library as dua-cli does, enabling multi-threaded scans
  • Live display of scan results, no need to wait for the scan to complete
  • Linux-first, but cross-platform

Planned

  • Tracks changes on the filesystem
  • Navigate into sub-directories
  • Right click menu to manage the directories

Install

Primarily tested for Linux, but confirmed to work on MacOS and Windows as well.
To build: You need to have gtk4 (libgtk-4-dev on Ubuntu/Debian) and rust/cargo. The only command necessary to build is cargo build --release after the dependencies are installed.
You can also simply grab an executable from the Releases section.
There is an AUR package spaceman-git available for Arch Linux (i.e. run yay install spaceman-git).
To run: Ensure gtk4 (libgtk-4-1 on Ubuntu/Debian, brew install gtk4 on MacOS) is installed.
The Windows package, unlike the Linux and Mac executables, pack all the necessary libraries within the archive so you do not have to install gtk4 separately. I am not quite happy with the Windows package in a UNIX style directory tree, alas this is what was possible with the library dependencies. I am looking into alternatives.

Usage

Click the button on the left of the titlebar, and choose a directory to scan. You can also provide a directory to scan as a command line argument.

Acknowledgements

SpaceSniffer for inspiration
Bruls, Huizing, van Wijk, "Squarified Treemaps" and TreeMonger which I referenced for the squarified treemap algorithm
dua-cli for reference on using the jwalk library