mirror of
https://github.com/tw93/Mole.git
synced 2026-02-04 19:09:43 +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:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user