120 lines
4.1 KiB
Bash
120 lines
4.1 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Uninstaller for Hyprland <-> Gamescope Session Switcher
|
|
#
|
|
|
|
set -e
|
|
|
|
# --- Colors ---
|
|
C_GREEN='\033[0;32m'
|
|
C_YELLOW='\033[1;33m'
|
|
C_RED='\033[0;31m'
|
|
C_BLUE='\033[0;34m'
|
|
C_NC='\033[0m'
|
|
|
|
if [ "$EUID" -eq 0 ]; then
|
|
echo -e "${C_RED}Error: Do not run this script as root! It will use 'sudo' as needed.${C_NC}"
|
|
exit 1
|
|
fi
|
|
|
|
USER_NAME=$(whoami)
|
|
USER_HOME=$(eval echo "~$USER_NAME")
|
|
|
|
# --- Banner ---
|
|
echo -e "${C_BLUE}===================================================================${C_NC}"
|
|
echo -e "${C_BLUE} Hyprland <-> Gamescope Session Switcher Uninstaller${C_NC}"
|
|
echo -e "${C_BLUE}===================================================================${C_NC}\n"
|
|
|
|
# --- Confirmation ---
|
|
echo -e "${C_YELLOW}This will remove:${C_NC}"
|
|
echo " - Session switching scripts only"
|
|
echo " - SDDM autologin configuration"
|
|
echo " - Systemd service overrides for gamescope"
|
|
echo " - Wofi custom styling for the switcher"
|
|
echo " - ONLY the SUPER+F12 switcher keybinding from Hyprland"
|
|
echo ""
|
|
echo -e "${C_YELLOW}This will NOT remove:${C_NC}"
|
|
echo " - Hyprland (kept completely intact)"
|
|
echo " - UWSM (kept completely intact)"
|
|
echo " - Your Hyprland configuration files"
|
|
echo " - Any installed packages"
|
|
echo " - Steam, MangoHud, or other apps"
|
|
echo ""
|
|
echo -e "${C_RED}Continue with uninstallation? [y/N]:${C_NC} "
|
|
read -r CONFIRM
|
|
|
|
if [[ ! "$CONFIRM" =~ ^[Yy]$ ]]; then
|
|
echo -e "${C_YELLOW}Uninstallation cancelled.${C_NC}"
|
|
exit 0
|
|
fi
|
|
|
|
# --- Start Uninstallation ---
|
|
echo -e "\n${C_BLUE}==> Starting uninstallation...${C_NC}"
|
|
|
|
# 1. Remove session switching scripts
|
|
echo -e "${C_BLUE}==> Removing session switching scripts...${C_NC}"
|
|
rm -f "$USER_HOME/.local/bin/switch-session.sh"
|
|
rm -f "$USER_HOME/.xsession"
|
|
rm -f "$USER_HOME/.next-session"
|
|
|
|
# 2. Remove SDDM configuration
|
|
echo -e "${C_BLUE}==> Removing SDDM autologin configuration...${C_NC}"
|
|
if [ -f /etc/sddm.conf ]; then
|
|
sudo rm -f /etc/sddm.conf
|
|
echo " - Removed SDDM configuration"
|
|
fi
|
|
|
|
# 3. Remove wayland session entry
|
|
echo -e "${C_BLUE}==> Removing session switcher entry...${C_NC}"
|
|
sudo rm -f /usr/share/wayland-sessions/switcher.desktop
|
|
|
|
# 4. Remove systemd service override
|
|
echo -e "${C_BLUE}==> Removing systemd service overrides...${C_NC}"
|
|
sudo rm -rf /etc/systemd/user/gamescope-session-plus@.service.d
|
|
sudo systemctl --user daemon-reload
|
|
|
|
# 5. Remove Wofi custom styling
|
|
echo -e "${C_BLUE}==> Removing Wofi custom styling...${C_NC}"
|
|
rm -f "$USER_HOME/.config/wofi/style.css"
|
|
# Remove wofi config directory if empty
|
|
rmdir "$USER_HOME/.config/wofi" 2>/dev/null || true
|
|
|
|
# 6. Remove Hyprland keybinding
|
|
echo -e "${C_BLUE}==> Removing Hyprland session switcher keybinding...${C_NC}"
|
|
HYPR_CONF="$USER_HOME/.config/hypr/hyprland.conf"
|
|
if [ -f "$HYPR_CONF" ]; then
|
|
# Remove session switcher keybinding and its comment
|
|
sed -i '/# Session Switcher Keybinding/d' "$HYPR_CONF"
|
|
sed -i '/bind = SUPER, F12, exec,.*switch-session.sh/d' "$HYPR_CONF"
|
|
echo " - Removed SUPER+F12 keybinding from Hyprland config"
|
|
fi
|
|
|
|
# --- Completion ---
|
|
echo -e "\n${C_GREEN}✅ Uninstallation Complete! ✅${C_NC}\n"
|
|
|
|
echo -e "${C_YELLOW}What was removed:${C_NC}"
|
|
echo " ✓ Session switching scripts and binaries"
|
|
echo " ✓ SDDM autologin configuration"
|
|
echo " ✓ Custom wayland session entry"
|
|
echo " ✓ Systemd service overrides"
|
|
echo " ✓ Wofi custom styling"
|
|
echo " ✓ Hyprland SUPER+F12 keybinding"
|
|
|
|
echo -e "\n${C_YELLOW}What remains:${C_NC}"
|
|
echo " • Hyprland (completely untouched)"
|
|
echo " • UWSM (completely untouched)"
|
|
echo " • All your Hyprland configurations"
|
|
echo " • All installed packages (gamescope, steam, wofi, etc.)"
|
|
echo " • Any other customizations you've made"
|
|
|
|
echo -e "\n${C_BLUE}Note:${C_NC} You may need to restart your session or reboot for all changes to take effect."
|
|
echo ""
|
|
echo -e "${C_RED}IMPORTANT:${C_NC} This uninstaller does NOT remove:"
|
|
echo " • Hyprland or UWSM (these are kept intact)"
|
|
echo " • Your Hyprland configurations (only the switcher keybinding was removed)"
|
|
echo " • Any core system components"
|
|
echo ""
|
|
echo -e "${C_BLUE}If you want to remove only the gamescope/gaming components, you can run:${C_NC}"
|
|
echo " yay -R gamescope gamescope-session-git"
|
|
echo ""
|