https://github.com/salihgerdan/spaceman
Treemap disk usage analyzer: In search of lost space
https://github.com/salihgerdan/spaceman
disk-space disk-space-analyzer disk-usage disk-usage-analyzer disk-usage-visualizer gtk-rs gtk4 gtk4-rs rust treemap utility
Last synced: about 1 month ago
JSON representation
Treemap disk usage analyzer: In search of lost space
- Host: GitHub
- URL: https://github.com/salihgerdan/spaceman
- Owner: salihgerdan
- License: gpl-3.0
- Created: 2023-02-28T21:13:41.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-09-26T16:20:04.000Z (over 2 years ago)
- Last Synced: 2023-09-27T04:58:43.134Z (over 2 years ago)
- Topics: disk-space, disk-space-analyzer, disk-usage, disk-usage-analyzer, disk-usage-visualizer, gtk-rs, gtk4, gtk4-rs, rust, treemap, utility
- Language: Rust
- Homepage:
- Size: 2.45 MB
- Stars: 24
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# spaceman
Treemap disk usage analyzer: *In search of lost space* (a.k.a. wata-analyzer)

**Warning: beta software (however, usable)**
## Features
- [X] Fast scan and display, with the power of Rust, and gtk4 gpu rendering capabilities
- [X] Uses the jwalk library as [dua-cli](https://github.com/Byron/dua-cli/) does, enabling multi-threaded scans
- [x] **Live** display of scan results, no need to wait for the scan to complete
- [x] 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](https://github.com/salihgerdan/spaceman/releases) section.
There is an [AUR package `spaceman-git`](https://aur.archlinux.org/packages/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](http://www.uderzo.it/main_products/space_sniffer/) for inspiration
[Bruls, Huizing, van Wijk, "Squarified Treemaps"](https://www.win.tue.nl/~vanwijk/stm.pdf) and [TreeMonger](https://github.com/alanbernstein/treemonger) which I referenced for the squarified treemap algorithm
[dua-cli](https://github.com/Byron/dua-cli/) for reference on using the jwalk library