adaptive sync
This commit is contained in:
Executable
+19
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
# Freeze / resume the focused window's process tree (SIGSTOP / SIGCONT).
|
||||
pid=$(xdotool getactivewindow getwindowpid 2>/dev/null) || exit 1
|
||||
|
||||
# collect pid plus all descendants (Wine/Proton games spawn several)
|
||||
descendants() {
|
||||
local p
|
||||
for p in $(pgrep -P "$1"); do
|
||||
echo "$p"
|
||||
descendants "$p"
|
||||
done
|
||||
}
|
||||
pids="$pid $(descendants "$pid")"
|
||||
name=$(ps -o comm= -p "$pid")
|
||||
|
||||
case "$(ps -o state= -p "$pid")" in
|
||||
T*) kill -CONT $pids && notify-send -t 1500 "Resumed" "$name ($pid)" ;;
|
||||
*) kill -STOP $pids && notify-send -t 1500 "Frozen" "$name ($pid)" ;;
|
||||
esac
|
||||
Reference in New Issue
Block a user