frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: Leaves – A text-UI disk usage treemap visualizer

https://github.com/patonw/leaves
32•patonw•3h ago
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...

Comments

bescob_ar•2h ago
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.
patonw•13m ago
Thanks! I'll need to check out SpaceSniffer next time I'm on Windows.

Can you provide some examples of "quick actions"?

Currently, the visualization is purely based on file sizes in the directory structure. Package management adds some complications beyond the fact that there are at least a dozen popular managers in the wild. For one, package dependencies form a directed graph rather than a hierarchical tree, so credit assignment is vague. Two packages can depend on the same two dependencies. Do we give full credit to both, one or assign partial credit? Would we weight partial credit evenly or by dependent size or some external factor/

robertclaus•1h ago
Ooh, this is nice. I loved windirstat back in the day.
sghiassy•1h ago
Really cool.

If possible, being able to “brew install” on a Mac would be killer

takencoder•55m ago
Nice! The file-type extension partitioning feature is a really smart addition to handle the limitations of block characters.
rrauenza•49m ago
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!

azeirah•40m ago
Love it! If this works well I'm going to add it to my basic linux tools toolkit next to htop and the like.
ktm5j•20m ago
This is super cool, I've always used ncdu for this kinda thing but I like this a lot better. Thanks for sharing!

Show HN: Leaves – A text-UI disk usage treemap visualizer

https://github.com/patonw/leaves
32•patonw•3h ago•8 comments

Show HN: A modern port of Linux to a ten-year-old QWERTY phone

22•tmzt•2h ago•3 comments

Show HN: Be the ChatBOT

https://bethechatbot.com/
3•keito•22m ago•0 comments

Show HN: QBasic Gorillas (Repeeled)

https://gameswithtony.com/gorillas/
11•TonyAlicea10•4h ago•8 comments

Show HN: Galois connections for composable numeric casts in Rust

https://github.com/cmk/connections
7•partialsolve•2h ago•1 comments

Show HN: Tree, truth, druid, dryad, and tar share one Proto-Indo-European root

https://p.migdal.pl/tree-of-tree/
3•stared•1h ago•0 comments

Show HN: Algotrek – Algorithms visualized, problem shape shifting and a tutor

https://app.algotrek.io
9•nyggy•4h ago•2 comments

Show HN: Sentinel – open-source QA agent that reads your code before it clicks

https://blog.simbastack.com/announcing-sentinel/
12•asenna•3h ago•3 comments

Show HN: Wallflower – A Quiet Social Reader

https://thewallflower.app/about
6•tldrthelaw•4h ago•0 comments

Show HN: Firefox in WebAssembly

https://developer.puter.com/labs/firefox-wasm/
235•coolelectronics•22h ago•119 comments

Show HN: I built an open source alternative to Workflowy

https://dotflowy.com
2•campak•3h ago•0 comments

Show HN: Open-source AI app builder you can embed into your own SaaS

https://github.com/totalumlabs/ai-app-builder-open
5•francescjuille•3h ago•0 comments

Show HN: misa77 - a codec that decodes 2x faster than LZ4 (at better ratios)

https://github.com/welcome-to-the-sunny-side/misa77
154•nonadhocproblem•1d ago•47 comments

Show HN: PokeTokenBar – Raise a Pokémon with your AI token usage

https://github.com/chattymin/PokeTokenBar
2•chattymin•3h ago•1 comments

Show HN: Token Gobbler – the goofy game where you're the LLM

https://tokengobbler.vercel.app/
2•dschwede•3h ago•2 comments

Show HN: Tmux tab markers for Claude Code, Grok, and pi sessions

https://github.com/jhickner/tmux-agent-tabs
2•jhickner•3h ago•0 comments

Show HN: Docs.dev Your Own Hosted Docs Platform in Minutes

https://docs.dev
8•linktothenew•3h ago•4 comments

Show HN: A spectral live stream of NYC sunlight

https://nyc-stream.enody.lighting
4•carterpeterson•3h ago•0 comments

Show HN: One More Letter

https://playonemoreletter.com/
83•hmate9•19h ago•56 comments

Show HN: I Built an Accent Changer App

https://accentchanger.com/
5•wbemaker•7h ago•11 comments

Show HN: Ingestr CDC – open-source CDC replication in Go

https://bruin-data.github.io/ingestr/getting-started/cdc.html
2•karakanb•3h ago•0 comments

Show HN: Democr.ai – self-hosted agentic AI runtime with audit and RBAC

https://github.com/democr-ai/democrai
2•fabio2•3h ago•0 comments

Show HN: Trying to fix the web scraping industry's benchmark problem

https://github.com/usestring/web-data-frontier-benchmark
13•rohitshenoy•4h ago•0 comments

Show HN: Nous – give GTM agents one context graph across your tools

https://github.com/NousC/opennous
10•sethiaakash04•4h ago•9 comments

Show HN: I built a Clojure runtime on top of Chez Scheme

https://yogthos.net/posts/2026-07-02-jolt.html
3•yogthos•4h ago•0 comments

Show HN: Ramsford – AI butler for travel, cruise planning, and daily tasks

https://ramsford.ai/
2•ramsford1000•4h ago•0 comments

Show HN: I've built tldraw for HTML and Markdown pages (with encryption)

https://pastehex.dev/
2•pandrre•4h ago•0 comments

Show HN: I've built a words game based on binary search

https://hilogame.cc/
43•ludovicianul•5h ago•42 comments

Show HN: An MCP server that frames screen recordings and shots in Apple bezels

https://github.com/cwooddgr/bezelbub/tree/main/bezelbub-mcp
3•igneous_rocker•4h ago•2 comments

Show HN: Termaxa – I found my AI-agent gate had silently stopped gating Cursor

https://github.com/termaxa/termaxa
2•devdoc83•4h ago•1 comments