LINUX.ORG.RU

История изменений

Исправление Andrew, (текущая версия) :

Есть плеер, есть коньки которые должны появляться когда окно плеера в фокусе и убиваться (или ничего не делать, если они не были запущены), если плеер не в фокусе. Скрипт получился такой:

#!/bin/bash

dbc(){
        if [[ "$(xdotool getwindowfocus getwindowname)" == "DeaDBeeF" ]]; then
                echo "deadbeef in focus, starting conky..."
                pgrep -xu $USER conky && \
                        echo "conky alredy started." || \
                        exec conky -c $HOME/.config/conky/db.conky &
        else
                echo "deadbeef not in focus, killing conky..."
                pgrep -xu $USER conky && \
                        killall -s TERM conky && \
                        echo "conky killed." || \
                        echo "conky not started, nothing to kill."
        fi
        sleep 1
}

while :; do
        dbc && sleep 3 || echo "an error occured." && sleep 3
done
Спасибо funeralismatic за помощь в написании скрипта.

Исходная версия Andrew, :

Есть плеер, есть коньки которые должны появляться когда окно плеера в фокусе и убиваться (или ничего не делать, если они не были запущены), если плеер не в фокусе. Скрипт получился такой:

#!/bin/bash

dbc(){
        if [[ "$(xdotool getwindowfocus getwindowname)" == "DeaDBeeF" ]]; then
                echo "deadbeef in focus, starting conky..."
                pgrep -xu $USER conky && \
                        echo "conky alredy started." || \
                        exec conky -c $HOME/.config/conky/db.conky &
        else
                echo "deadbeef not in focus, killing conky..."
                pgrep -xu $USER conky && \
                        killall -s TERM conky && \
                        echo "conky killed." || \
                        echo "conky not started, nothing to kill."
        fi
        sleep 1
}

while :; do
        dbc && sleep 3 || echo "an error occured." && sleep 3
done
Спасибо за помощь в написании скрипта.