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

refactor(uninstall): enhance login item removal and brew UI

- Escape quotes/backslashes in app names for AppleScript safety
- Silence osascript stdout to prevent output noise
- Capture brew uninstall output to avoid spinner corruption
- Log brew errors to debug_log for troubleshooting
This commit is contained in:
Tw93
2026-01-15 15:13:51 +08:00
parent 9a9e6c780f
commit 30547c9c4c
2 changed files with 11 additions and 4 deletions

View File

@@ -104,7 +104,11 @@ remove_login_item() {
# Remove from Login Items using index-based deletion (handles broken items)
if [[ -n "$clean_name" ]]; then
osascript <<- EOF 2> /dev/null || true
# Escape double quotes and backslashes for AppleScript
local escaped_name="${clean_name//\\/\\\\}"
escaped_name="${escaped_name//\"/\\\"}"
osascript <<- EOF > /dev/null 2>&1 || true
tell application "System Events"
try
set itemCount to count of login items
@@ -112,7 +116,7 @@ remove_login_item() {
repeat with i from itemCount to 1 by -1
try
set itemName to name of login item i
if itemName is "$clean_name" then
if itemName is "$escaped_name" then
delete login item i
end if
end try