made it like a loop
This commit is contained in:
16
uninstall.sh
16
uninstall.sh
@@ -56,13 +56,18 @@ remove_packages() {
|
|||||||
package=$(echo "$package" | tr -d '"') # Remove extra quotes
|
package=$(echo "$package" | tr -d '"') # Remove extra quotes
|
||||||
if pacman -Qi "$package" &> /dev/null; then
|
if pacman -Qi "$package" &> /dev/null; then
|
||||||
echo "Removing package: $package"
|
echo "Removing package: $package"
|
||||||
sudo pacman -Rsc --noconfirm "$package"
|
if ! sudo pacman -Rsc --noconfirm "$package"; then
|
||||||
|
echo "$ERROR Failed to remove package: $package"
|
||||||
|
else
|
||||||
|
echo "$OK Successfully removed package: $package"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "$INFO Package ${YELLOW}$package${RESET} not found."
|
echo "$INFO Package ${YELLOW}$package${RESET} not found."
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Function to remove selected directories
|
# Function to remove selected directories
|
||||||
remove_directories() {
|
remove_directories() {
|
||||||
local selected_dirs=($1)
|
local selected_dirs=($1)
|
||||||
@@ -70,13 +75,18 @@ remove_directories() {
|
|||||||
dir=$(echo "$dir" | tr -d '"') # Remove extra quotes
|
dir=$(echo "$dir" | tr -d '"') # Remove extra quotes
|
||||||
if [ -d "$HOME/.config/$dir" ]; then
|
if [ -d "$HOME/.config/$dir" ]; then
|
||||||
echo "Removing directory: $HOME/.config/$dir"
|
echo "Removing directory: $HOME/.config/$dir"
|
||||||
rm -rf "$HOME/.config/$dir"
|
if ! rm -rf "$HOME/.config/$dir"; then
|
||||||
|
echo "$ERROR Failed to remove directory: $HOME/.config/$dir"
|
||||||
|
else
|
||||||
|
echo "$OK Successfully removed directory: $HOME/.config/$dir"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "$INFO Directory ${YELLOW}$HOME/.config/$dir${RESET} not found."
|
echo "$INFO Directory ${YELLOW}$HOME/.config/$dir${RESET} not found."
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# Define the list of packages to choose from (with options_command tags)
|
# Define the list of packages to choose from (with options_command tags)
|
||||||
packages=(
|
packages=(
|
||||||
"cliphist" "clipboard manager" "off"
|
"cliphist" "clipboard manager" "off"
|
||||||
@@ -152,7 +162,7 @@ directories=(
|
|||||||
|
|
||||||
# Use whiptail to choose packages to remove
|
# Use whiptail to choose packages to remove
|
||||||
package_choices=$(whiptail --title "Select Packages to Uninstall" --checklist \
|
package_choices=$(whiptail --title "Select Packages to Uninstall" --checklist \
|
||||||
"Select the packages you want to remove\nNOTE: 'SPACEBAR' to select & 'TAB' key to change selection" 25 90 15 \
|
"Select the packages you want to remove\nNOTE: 'SPACEBAR' to select & 'TAB' key to change selection" 30 90 20 \
|
||||||
"${packages[@]}" 3>&1 1>&2 2>&3)
|
"${packages[@]}" 3>&1 1>&2 2>&3)
|
||||||
|
|
||||||
# Check if the user canceled the operation
|
# Check if the user canceled the operation
|
||||||
|
|||||||
Reference in New Issue
Block a user