46 lines
1.1 KiB
Bash
Executable File
46 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Check if an argument was passed
|
|
if [ $# -ne 1 ]; then
|
|
echo "Usage: $0 {start|stop}"
|
|
exit 1
|
|
fi
|
|
|
|
# Define the actions for start and stop
|
|
case "$1" in
|
|
start)
|
|
# Check if skippy-xd is currently running
|
|
if ! pgrep -x "skippy-xd" > /dev/null; then
|
|
# Start skippy-xd
|
|
skippy-xd > /dev/null 2>&1 &
|
|
fi
|
|
;;
|
|
stop)
|
|
# Check if skippy-xd is currently running
|
|
SKIPPY_PID=$(pgrep -x "skippy-xd")
|
|
|
|
if [ -n "$SKIPPY_PID" ]; then
|
|
# Capture the currently active window before killing skippy-xd
|
|
PREV_WINDOW=$(xdotool getwindowfocus)
|
|
|
|
# Kill skippy-xd cleanly
|
|
pkill -x skippy-xd
|
|
|
|
# Wait until skippy-xd is fully terminated
|
|
while pgrep -x "skippy-xd" > /dev/null; do
|
|
sleep 0.1
|
|
done
|
|
|
|
# Refocus the previously active window
|
|
if [ -n "$PREV_WINDOW" ]; then
|
|
xdotool windowactivate "$PREV_WINDOW"
|
|
fi
|
|
fi
|
|
;;
|
|
*)
|
|
echo "Invalid argument: $1"
|
|
echo "Usage: $0 {start|stop}"
|
|
exit 1
|
|
;;
|
|
esac
|