1
0
mirror of https://github.com/tw93/Mole.git synced 2026-02-04 12:41:46 +00:00

bug-fix: add automatic trash emptying to clean command (#363)

- Empty trash using macOS Finder API (osascript) for proper permission handling
- Respects whitelist protection (skips if Trash is whitelisted)
- Shows item count when emptying trash
- Fallback to direct cleanup if Finder API fails
- Supports dry-run mode

Issue: #362
This commit is contained in:
Andrei Murariu
2026-01-26 04:28:03 +02:00
committed by GitHub
parent fb4cef5fa7
commit 89eb442866

View File

@@ -7,8 +7,24 @@ clean_user_essentials() {
stop_section_spinner
safe_clean ~/Library/Logs/* "User app logs"
if ! is_path_whitelisted "$HOME/.Trash"; then
safe_clean ~/.Trash/* "Trash"
local trash_count
trash_count=$(osascript -e 'tell application "Finder" to count items in trash' 2> /dev/null || echo "0")
[[ "$trash_count" =~ ^[0-9]+$ ]] || trash_count="0"
if [[ "${DRY_RUN:-false}" == "true" ]]; then
[[ $trash_count -gt 0 ]] && echo -e " ${YELLOW}${ICON_DRY_RUN}${NC} Trash · would empty ($trash_count items)" || echo -e " ${GRAY}${ICON_EMPTY}${NC} Trash · already empty"
elif [[ $trash_count -gt 0 ]]; then
if osascript -e 'tell application "Finder" to empty trash' > /dev/null 2>&1; then
echo -e " ${GREEN}${ICON_SUCCESS}${NC} Trash · emptied ($trash_count items)"
note_activity
else
safe_clean ~/.Trash/* "Trash"
fi
else
echo -e " ${GRAY}${ICON_EMPTY}${NC} Trash · already empty"
fi
fi
}