mirror of
https://github.com/kuhyx/testsAndMisc-archive.git
synced 2026-07-04 15:43:11 +02:00
- Add +x to Python scripts with shebangs (3 files) - Remove -x from non-script files like .cpp, .txt, makefile (23 files) - Move shebang to first line in C/imageViewer/lint.sh
134 lines
3.5 KiB
Bash
Executable File
134 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# ImageViewer Uninstallation Script for Arch Linux
|
|
|
|
set -e # Exit on any error
|
|
|
|
# Colors for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Configuration
|
|
INSTALL_DIR="/usr/local/bin"
|
|
DESKTOP_FILE_DIR="/usr/local/share/applications"
|
|
ICON_DIR="/usr/local/share/pixmaps"
|
|
|
|
print_step() {
|
|
echo -e "${BLUE}==>${NC} ${1}"
|
|
}
|
|
|
|
print_success() {
|
|
echo -e "${GREEN}✓${NC} ${1}"
|
|
}
|
|
|
|
print_warning() {
|
|
echo -e "${YELLOW}⚠${NC} ${1}"
|
|
}
|
|
|
|
print_error() {
|
|
echo -e "${RED}✗${NC} ${1}"
|
|
}
|
|
|
|
remove_files() {
|
|
print_step "Removing imageviewer files..."
|
|
|
|
# Remove binary
|
|
if [[ -f "${INSTALL_DIR}/imageviewer" ]]; then
|
|
sudo rm "${INSTALL_DIR}/imageviewer"
|
|
print_success "Removed ${INSTALL_DIR}/imageviewer"
|
|
else
|
|
print_warning "Binary not found at ${INSTALL_DIR}/imageviewer"
|
|
fi
|
|
|
|
# Remove desktop entry
|
|
if [[ -f "${DESKTOP_FILE_DIR}/imageviewer.desktop" ]]; then
|
|
sudo rm "${DESKTOP_FILE_DIR}/imageviewer.desktop"
|
|
print_success "Removed desktop entry"
|
|
else
|
|
print_warning "Desktop entry not found"
|
|
fi
|
|
|
|
# Remove icon
|
|
if [[ -f "${ICON_DIR}/imageviewer.svg" ]]; then
|
|
sudo rm "${ICON_DIR}/imageviewer.svg"
|
|
print_success "Removed application icon"
|
|
else
|
|
print_warning "Application icon not found"
|
|
fi
|
|
}
|
|
|
|
reset_default_associations() {
|
|
print_step "Resetting default image viewer associations..."
|
|
|
|
# List of MIME types for images
|
|
local mime_types=(
|
|
"image/jpeg"
|
|
"image/jpg"
|
|
"image/png"
|
|
"image/bmp"
|
|
"image/gif"
|
|
"image/tiff"
|
|
"image/tif"
|
|
"image/webp"
|
|
)
|
|
|
|
# Reset default application for each MIME type
|
|
for mime_type in "${mime_types[@]}"; do
|
|
if command -v xdg-mime &> /dev/null; then
|
|
# Check if imageviewer was the default
|
|
local current_default=$(xdg-mime query default "$mime_type" 2>/dev/null)
|
|
if [[ "$current_default" == "imageviewer.desktop" ]]; then
|
|
# Remove the association (this will fall back to system defaults)
|
|
local mimeapps_file="$HOME/.config/mimeapps.list"
|
|
if [[ -f "$mimeapps_file" ]]; then
|
|
sed -i "/^${mime_type}=imageviewer.desktop$/d" "$mimeapps_file" 2>/dev/null || true
|
|
fi
|
|
fi
|
|
fi
|
|
done
|
|
|
|
print_success "Default image viewer associations reset"
|
|
}
|
|
|
|
update_desktop_database() {
|
|
print_step "Updating desktop database..."
|
|
|
|
if command -v update-desktop-database &> /dev/null; then
|
|
sudo update-desktop-database "${DESKTOP_FILE_DIR}" 2>/dev/null || true
|
|
print_success "Desktop database updated"
|
|
else
|
|
print_warning "update-desktop-database not found, skipping..."
|
|
fi
|
|
}
|
|
|
|
main() {
|
|
echo -e "${BLUE}ImageViewer Uninstallation Script${NC}"
|
|
echo "================================="
|
|
echo
|
|
|
|
# Show what will be removed
|
|
echo -e "${YELLOW}This script will remove:${NC}"
|
|
echo " - ${INSTALL_DIR}/imageviewer"
|
|
echo " - ${DESKTOP_FILE_DIR}/imageviewer.desktop"
|
|
echo " - ${ICON_DIR}/imageviewer.svg"
|
|
echo
|
|
echo -e "${YELLOW}Note: Dependencies (SDL2 libraries) will NOT be removed.${NC}"
|
|
echo
|
|
|
|
remove_files
|
|
reset_default_associations
|
|
update_desktop_database
|
|
|
|
echo
|
|
echo -e "${GREEN}ImageViewer has been successfully uninstalled!${NC}"
|
|
echo
|
|
echo -e "${BLUE}To remove dependencies (if no longer needed):${NC}"
|
|
echo " sudo pacman -R sdl2 sdl2_image"
|
|
}
|
|
|
|
# Run main function
|
|
main "$@"
|