Skip to content

Repository files navigation

Top10-folders

A lightweight Linux desktop application that finds the largest folders on a filesystem. It scans a location, ranks its largest non-overlapping folders, and lets you drill into any result with a double-click.

Linux only. Top10-folders relies on standard Linux utilities such as du, findmnt, and xdg-open. Scan protected paths with the appropriate permissions if you need complete results.

Quick start

Run the application directly from a cloned checkout:

python3 program.py

Top10-folders starts by scanning /. Select Home folder, Browse, or enter a path to scan a different location.

Install as a desktop application

git clone https://github.com/<your-account>/Top10-folders.git
cd Top10-folders
chmod +x install.sh uninstall.sh top10-folders
./install.sh

The installer adds Top10-folders to the application menu, installs the icon, and creates the top10-folders command in ~/.local/bin.

To remove the desktop integration later:

./uninstall.sh

Requirements

Requirement Purpose
Python 3.10+ with Tkinter Runs the desktop interface
du Measures directory sizes
findmnt Detects real mounted filesystems when scanning /
xdg-open Opens a selected folder in the file manager
kdialog or zenity Provides the system directory chooser; Tkinter is the fallback

On Arch Linux, install Tkinter with:

sudo pacman -S tk

Using the application

  1. Wait for the initial system scan, or select a location in the sidebar.
  2. Type in Filter results to narrow the current ranking.
  3. Double-click a folder, or press Enter, to inspect its largest subfolders.
  4. Use Open in file manager or Copy path for the selected folder.

Keyboard shortcuts

Shortcut Action
Ctrl+R Rescan the current location
Ctrl+F Focus the result filter
Ctrl+L Focus the location field
Alt+Left Go back one drill-down level
Esc Cancel an active scan

Language behaviour

The interface follows the operating system language automatically. It checks standard locale variables first and, when an IDE launches it with C.UTF-8, falls back to KDE and system locale configuration. The project includes localized interface catalogues for Italian, English, German, French, Spanish, Portuguese, Dutch, Polish, Russian, Ukrainian, Turkish, Japanese, Korean, Simplified Chinese, Traditional Chinese, and Arabic. Unsupported locales use English.

How scanning works

  • A normal scan runs du -x for the selected path, so it stays on one filesystem.
  • A scan of / first finds real mounted filesystems and scans each one.
  • Nested candidates are removed from the final ranking to avoid counting the same disk usage twice.
  • Folders that cannot be read are skipped and reported in the status bar.

Development

No third-party Python packages are required.

python3 -m py_compile program.py
python3 -m unittest discover -s tests -v
bash -n install.sh uninstall.sh

The GitHub Actions workflow runs these checks for pushes and pull requests.

Publishing on GitHub

This project includes a .gitignore, tests, and CI workflow. Initialize the repository and publish it when you are ready:

git init -b main
git add .
git commit -m "Initial release of Top10-folders"
git remote add origin https://github.com/<your-account>/Top10-folders.git
git push -u origin main

License

Top10-folders is licensed under the GNU General Public License v3.0 (GPL-3.0-only).

About

A lightweight Linux desktop app that finds, ranks, and explores the folders using the most disk space.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages