Replace Disk Usage TUI with Disktree (#14426)
This commit is contained in:
1 parent
0f8af9be30
commit
83957145a7
6 files changed
+53
-13
No files matched your search
@@ -1,8 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Disk Usage
|
||||
Exec=xdg-terminal-exec --app-id=TUI.float -e bash -c "dua i /"
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=disk-usage
|
||||
StartupNotify=true
|
||||
@@ -21,12 +21,12 @@ cups
|
||||
cups-filters
|
||||
cups-pk-helper
|
||||
ddcutil
|
||||
disktree-bin
|
||||
docker
|
||||
docker-buildx
|
||||
docker-compose
|
||||
dosfstools
|
||||
dotnet-runtime
|
||||
dua-cli
|
||||
evince
|
||||
exfatprogs
|
||||
expac
|
||||
|
||||
@@ -26,10 +26,6 @@ You start it (or reattach to your existing session) with `Super + Ctrl + Return`
|
||||
|
||||
Omarchy has packaged this as _About_ in the Omarchy menu (`Super + Space`).
|
||||
|
||||
## Disk Usage
|
||||
|
||||
When the drive fills up and you have no idea what's eating it, launch _Disk Usage_ from the app launcher (`Super + Space`). It's [dua](https://github.com/Byron/dua-cli) in interactive mode pointed at the whole file system, so you can walk down into whatever directory is the culprit, sorted biggest first, and delete from right inside it.
|
||||
|
||||
## Cliamp
|
||||
|
||||
[Cliamp](https://www.cliamp.stream/) is a retro terminal music player inspired by Winamp 2.x, complete with built-in radio stations for lo-fi beats. Launch it with `Super + Shift + Alt + M`, or from the Omarchy menu under _Apps_. Press `?` for the full keybinding list.
|
||||
|
||||
@@ -8,6 +8,10 @@ Plug in a USB stick or an SD card and it's mounted automatically, so it just sho
|
||||
|
||||
Double-clicking follows sensible defaults: images open in imv, video in mpv, PDFs in Document Viewer, and plain text in Neovim.
|
||||
|
||||
## Disktree
|
||||
|
||||
When the drive fills up and you have no idea what's eating it, launch [Disktree](https://github.com/tobi/disktree) from the app launcher (`Super + Space`). It shows a graphical treemap of your home directory. Larger blocks take up more space; walk into directories with the keyboard or mouse, mark what should go, and review your selections before removing anything. Run `disktree --disk` to scan the whole disk.
|
||||
|
||||
## Obsidian
|
||||
|
||||
[Obsidian](https://obsidian.md/) is a free and highly extensible note taking application that uses simple Markdown files for storage.
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
echo "Replace the Disk Usage TUI with Disktree"
|
||||
|
||||
omarchy-pkg-add disktree-bin
|
||||
omarchy-pkg-drop dua-cli
|
||||
|
||||
rm -f "$HOME/.local/share/applications/Disk Usage.desktop"
|
||||
if [[ -d $HOME/.local/share/applications ]]; then
|
||||
update-desktop-database "$HOME/.local/share/applications"
|
||||
fi
|
||||
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)/base-test.sh"
|
||||
|
||||
test_tmp=$(mktemp -d)
|
||||
trap 'rm -rf "$test_tmp"' EXIT
|
||||
mkdir -p "$test_tmp/bin" "$test_tmp/home/.local/share/applications"
|
||||
|
||||
for helper in omarchy-pkg-add omarchy-pkg-drop update-desktop-database; do
|
||||
cat > "$test_tmp/bin/$helper" <<'SH'
|
||||
#!/bin/bash
|
||||
printf '%s %s\n' "${0##*/}" "$*" >> "$TEST_LOG"
|
||||
SH
|
||||
chmod +x "$test_tmp/bin/$helper"
|
||||
done
|
||||
|
||||
launcher="$test_tmp/home/.local/share/applications/Disk Usage.desktop"
|
||||
printf '[Desktop Entry]\nExec=dua i /\n' > "$launcher"
|
||||
|
||||
for (( attempt = 0; attempt < 2; attempt++ )); do
|
||||
env HOME="$test_tmp/home" OMARCHY_PATH="$ROOT" TEST_LOG="$test_tmp/log" PATH="$test_tmp/bin:$PATH" \
|
||||
bash -euo pipefail "$ROOT/migrations/1791345484.sh"
|
||||
[[ ! -e $launcher ]] || fail "the migration removes the old Disk Usage launcher"
|
||||
done
|
||||
pass "the Disktree migration removes the old launcher and can run twice"
|
||||
|
||||
expected="omarchy-pkg-add disktree-bin
|
||||
omarchy-pkg-drop dua-cli
|
||||
update-desktop-database $test_tmp/home/.local/share/applications"
|
||||
[[ $(cat "$test_tmp/log") == "$expected"$'\n'"$expected" ]] || fail "the migration installs Disktree before removing dua and refreshing launchers"
|
||||
pass "the migration installs Disktree before removing dua and refreshing launchers"
|
||||
|
||||
rm -r "$test_tmp/home/.local/share/applications"
|
||||
env HOME="$test_tmp/home" OMARCHY_PATH="$ROOT" TEST_LOG="$test_tmp/log" PATH="$test_tmp/bin:$PATH" \
|
||||
bash -euo pipefail "$ROOT/migrations/1791345484.sh"
|
||||
[[ ! -d $test_tmp/home/.local/share/applications ]] || fail "the migration relies on the packaged Disktree launcher"
|
||||
pass "the migration relies on the packaged Disktree launcher when no local launchers exist"
|
||||
Reference in new issue
Block a user