mirror of
https://github.com/LukeHagar/omarchy.git
synced 2025-12-06 04:20:23 +00:00
42 lines
1.2 KiB
Bash
Executable File
42 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
ICON_DIR="$HOME/.local/share/applications/icons"
|
|
DESKTOP_DIR="$HOME/.local/share/applications/"
|
|
|
|
if [ "$#" -eq 0 ]; then
|
|
# Find all web apps
|
|
while IFS= read -r -d '' file; do
|
|
if grep -q '^Exec=.*\(omarchy-launch-webapp\|omarchy-webapp-handler\).*' "$file"; then
|
|
WEB_APPS+=("$(basename "${file%.desktop}")")
|
|
fi
|
|
done < <(find "$DESKTOP_DIR" -name '*.desktop' -print0)
|
|
|
|
if ((${#WEB_APPS[@]})); then
|
|
IFS=$'\n' SORTED_WEB_APPS=($(sort <<<"${WEB_APPS[*]}"))
|
|
unset IFS
|
|
APP_NAMES_STRING=$(gum choose --no-limit --header "Select web app to remove..." --selected-prefix="✗ " "${SORTED_WEB_APPS[@]}")
|
|
# Convert newline-separated string to array
|
|
APP_NAMES=()
|
|
while IFS= read -r line; do
|
|
[[ -n "$line" ]] && APP_NAMES+=("$line")
|
|
done <<< "$APP_NAMES_STRING"
|
|
else
|
|
echo "No web apps to remove."
|
|
exit 1
|
|
fi
|
|
else
|
|
# Use array to preserve spaces in app names
|
|
APP_NAMES=("$@")
|
|
fi
|
|
|
|
if [[ ${#APP_NAMES[@]} -eq 0 ]]; then
|
|
echo "You must provide web app names."
|
|
exit 1
|
|
fi
|
|
|
|
for APP_NAME in "${APP_NAMES[@]}"; do
|
|
rm -f "$DESKTOP_DIR/$APP_NAME.desktop"
|
|
rm -f "$ICON_DIR/$APP_NAME.png"
|
|
echo "Removed $APP_NAME"
|
|
done
|