diff --git a/README.md b/README.md index f7095336f7..f8e8673e9a 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,8 @@ wget -qO- https://git.io/papirus-icon-theme-install | env DESTDIR="/usr/local/sh #### Uninstall +Use this interactive script to completely remove Papirus icon theme on your system. + ``` wget -qO- https://git.io/papirus-icon-theme-uninstall | sh ``` diff --git a/uninstall.sh b/uninstall.sh index 5c5b5848a4..1d31df7972 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -24,12 +24,42 @@ cat <<- EOF EOF +_rm_icon_theme() { + test -d "$1" || return 0 + + echo "Removing '$1'..." >&2 + + if [ -w "$1" ]; then + rm -rf "$1" + else + if command -v sudo >/dev/null; then + sudo rm -rf "$1" + elif command -v doas >/dev/null; then + doas rm -rf "$1" + else + echo "Failed to remove '$1'. Please run the script with root permission." >&2 + fi + fi +} + +_yes_no() { + printf '%s [Y/n]: ' "$*" + read -r yes_no Removing $gh_desc ..." -for i in ePapirus ePapirus-Dark Papirus Papirus-Adapta Papirus-Adapta-Nokto Papirus-Dark Papirus-Light; do - rm -rf "$HOME/.icons/$i" - rm -rf "$HOME/.local/share/icons/$i" - sudo rm -rf "/usr/local/share/icons/$i" - sudo rm -rf "/usr/share/icons/$i" +for d in "$HOME/.icons" "$HOME/.local/share/icons" "/usr/local/share/icons" "/usr/share/icons"; do + for i in ePapirus ePapirus-Dark Papirus Papirus-Adapta Papirus-Adapta-Nokto Papirus-Dark Papirus-Light; do + [ -d "$d/$i" ] || continue + if _yes_no "Do you want to remove '$i' from '$d'"; then + _rm_icon_theme "$d/$i" + fi + done done echo "=> Done!"