28 lines
679 B
Bash
28 lines
679 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
execute() {
|
||
|
swww img $HOME/Pictures/BG/black.jpg
|
||
|
sleep 0.1
|
||
|
|
||
|
echo "Rotating"
|
||
|
|
||
|
swww img $HOME/Pictures/BG/bonzai.jpg
|
||
|
/home/matt/.config/lisgd/config &
|
||
|
lisgd_pid=$! # Save the PID of the lisgd process
|
||
|
}
|
||
|
|
||
|
cleanup() {
|
||
|
echo "Cleaning up..."
|
||
|
kill $lisgd_pid # Terminate the lisgd process
|
||
|
wait $lisgd_pid # Wait for the process to exit
|
||
|
}
|
||
|
|
||
|
# Register the cleanup function to be called on script exit
|
||
|
trap cleanup EXIT
|
||
|
|
||
|
# Loop to listen to the command
|
||
|
while IFS='$\n' read -r line; do
|
||
|
rotation="$(echo $line | sed -En "s/^.*orientation changed: (.*)/\1/p")"
|
||
|
[[ ! -z $rotation ]] && execute
|
||
|
done < <(stdbuf -oL monitor-sensor)
|