#!/bin/bash # Funktion til Flatpak apps close_flatpak() { local app="$1" flatpak kill "$app" for i in $(seq 1 5); do sleep 1 if ! pgrep -f "$app" > /dev/null; then echo "$app closed (attempt $i)" return fi echo "$app still running, retrying ($i/5)..." flatpak kill "$app" done echo "$app force closing (KILL)..." pkill -KILL -f "$app" pkill -KILL -f bwrap 2>/dev/null # dræb sandbox container } # Funktion til native apps close_app() { local app="$1" pkill -TERM -f "$app" for i in $(seq 1 5); do sleep 1 if ! pgrep -f "$app" > /dev/null; then echo "$app closed (attempt $i)" return fi echo "$app still running, retrying ($i/5)..." pkill -TERM -f "$app" done echo "$app force closing (KILL)..." pkill -KILL -f "$app" } # Luk apps close_flatpak "com.discordapp.Discord" close_flatpak "io.github.lullabyX.sone" close_flatpak "rocks.shy.VacuumTube" close_app "firefox" # Steam if pgrep -f steam > /dev/null; then steam -shutdown for i in $(seq 1 5); do sleep 1 if ! pgrep -f steam > /dev/null; then echo "Steam closed (attempt $i)" break fi echo "Steam still running ($i/5)..." done pkill -KILL -f steam 2>/dev/null else echo "Steam not running, skipping..." fi # Prompt read -r -p "All programs closed. Shut down? [Y/n]: " response response="${response:-Y}" # Y er default ved enter if [[ "$response" =~ ^[Yy]$ ]]; then sudo shutdown -h now else echo "Shutdown cancelled." fi