#!/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.*' "$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