Cleanup and disk-usage analysis for DankMaterialShell, with separate user-cache, Trash, and Docker workflows.
Inspect disk usage and choose cleanup targets from a desktop-shell plugin. This project demonstrates QML interfaces, Linux filesystem integration, background scanning, and Docker command integration.
Developer portfolio · Discuss Linux tooling
- Cleanup for selected user-space cache and Trash categories
- Reclaimable space estimation before cleanup
- Docker tab: Detect Docker, show storage usage (
docker system df), and prune stopped containers, unused images, volumes, or build cache. System prune has configurable-a,--volumes, and time-filter options; filters are not applied uniformly to every prune action. - Disk analyzer tab: Home total vs configured paths total, last analyzed time, top-directory bars and category pie chart; drill-down (click a directory to view its contents, Back to go up)
If you list overlapping paths (e.g. ~/Downloads and ~/Downloads/foo), the “Paths” total can double-count the overlap; use disjoint roots for a precise sum.
Cleanup deletes selected files. Trash removal and Docker volume pruning can remove data you intended to keep. Review the selected targets and keep backups; the plugin is not a recovery tool.
The general cache category excludes browser cache names so they can be controlled separately. Browser-cache cleanup has its own toggle and is enabled by default in the service. Optional temporary-file cleanup is disabled by default.
Supported cleanup targets:
~/.cache(excluding browser cache directories by default, plus any extra top-level names you configure — e.g.yayto keep yay’s VCS metadata)~/.local/share/Trash/filesand~/.local/share/Trash/info- Browser cache folders (if present):
~/.cache/mozilla,~/.cache/google-chrome,~/.cache/chromium - Optional old
/tmpfiles owned by current user only
The user-file cleanup workflow does not clean privileged system package-cache paths. Docker actions depend on the current user's Docker access and are separate from the user-file cleanup workflow.
Docker image pruning uses all-unused-image removal, and build-cache pruning removes unused build cache. Review the individual action rather than assuming the time filter or system-prune volume setting applies to every Docker button.
- Main branch contains stable plugin code.
- Use short-lived feature branches and open PRs into
main.


