GUI disk analyzers are great for figuring out what's filling up your laptop/desktop drive.
On containers or remote servers, the options are limited to purely text based utilities (e.g. du) or list-centric TUIs (e.g. ncdu) which are usually limited to viewing one directory at a time.
I created leaves to fill that gap.
Inspired by classic utilities like WinDirStat and KDirStat, it uses a 2-dimensional treemap^1 visualization to show the entire directory hierarchy with proportionally sized rectangles.
It's performant enough to handle millions of files, thanks to Rust and multi-threading. However, block characters aren't as suited as pixels for resolving a large number of items. Leaves can show file-type summaries per directory or partition the top-level directories by extension, allowing you to see not only where space is being used, but also how.
For instance, I can see the largest chunk of my home directory is taken up by uv caches for python and old Linux ISOs that I could easily re-download if needed. Or in a particular container, +600MB is used by standard Rust documentation and tutorials, and that it is the only location with HTML/JS files, when only the libraries and build tools are needed (note to self: remember to use the minimal profile next time).
^1: https://github.com/shundhammer/qdirstat/blob/master/doc/Tree...
This is the kind of tool that should be baked into the kernel. It's never there when you need it, and when you do need it, it is probably already a full disk and you maybe can't just download it.
Ooo a TUI version of Sequoia view: https://sequoiaview.win.tue.nl/ nice
This is super cool, I've always used ncdu for this kinda thing but I like this a lot better. Thanks for sharing!
this is really helpfull
Is this faster than diskx inventory or other gui tools?
This looks fantastic, reminds me a lot of SpaceSniffer. The focus view or allowing for navigation through chunks is a nice essential inclusion. One desire might be quick actions. Doing size of squares based on the # of packages a dependency installation causes: Helps I guess users hellbent on having their install minimal figure out what they can afford to remove for as few packages on their system as reasonably possible.
I had just been looking for a windirstat like tool for linux the other day.
What I really also want is a way to do an offline index that this reads ... I ended up using duc. Maybe I will fork and add it!
thanks for sharing!
Really cool.
If possible, being able to “brew install” on a Mac would be killer
Love it! If this works well I'm going to add it to my basic linux tools toolkit next to htop and the like.
Nice! The file-type extension partitioning feature is a really smart addition to handle the limitations of block characters.
Ooh, this is nice. I loved windirstat back in the day.
[flagged]
Surprised no one mentioned WizTree which is a lot faster than WinDirStat