Отключаем переход экрана в ждущий режим, пока активен flashplugin

Все мы иногда посматриваем видосы на youtube и на прочих видео сервисах, и приходится сталкиваться с проблемой screensaver'a ну или перехода монитора в ждущий режим. По началу я использовал caffeine, да и в Arch'e была идея его установить, но он захотел с собой потащить кучу ненужного хлама(зависимостей). Немного погуглив, я нашел годное решение.


Оказывается, нам нужен небольшой скрипт, который будет смотреть есть ли flashplugin в процессах и искать окна открытые на полный экран. В awesome есть более красивое решение [https://www.linux.org.ru/forum/desktop/10729260].
Ну а теперь наш скрипт:
disable_dpms.sh
#!/bin/bash
dpmsOff()
{
    xset s off
	xset -dpms
}
dpmsOn()
{
    xset s on
    xset +dpms
}

checkScreen()
{
    #FullScreen window detect
    win_id_list=`xprop -root _NET_CLIENT_LIST | sed -e 's/.*\#//g' | sed 's/\,/ /g'`
    for win_id in $win_id_list
    do
        #get windows state
        WinFullScreen=`DISPLAY=:0 xprop -id $win_id | grep _NET_WM_STATE_FULLSCREEN`
        if [[ "$WinFullScreen" = *NET_WM_STATE_FULLSCREEN* ]];then
            return 1
        fi
    done
    #flashplayer detect
    if [ -n "`pgrep -f flashplayer.so`" ] || [ -n "`pgrep -f pepperflash.so`" ] ;then
        return 1
	fi
    return 0
}


while pgrep -f "Xorg" > /dev/null; do
    checkScreen
    result=$?
    if [[ $result -eq 1 ]]; then
        dpmsOff
    else
        dpmsOn
    fi
    sleep 60
done

Ссылка на github https://github.com/clsv/disable_dpms/blob/master/disable_dpms.sh
Делаем его запускаемым chmod +x disable_dpms.sh и добавляем в автозагрузку, и теперь выключение экрана не помешает просмотру видео.

Комментарии ()

    Есть вопрос или предложение пиши в Telegram @cloudsv

    Прямой эфир

    cloudsv 24 октября 2018, 00:27
    О жизни Обновление Scala Rider G4 0
    cloudsv 21 октября 2018, 23:16
    Arch Linux Памятка по основным утилитам Linux 0
    cloudsv 01 июня 2018, 01:39
    Telegram Настройка прокси mtproto для Telegram 28
    cloudsv 22 января 2018, 21:59
    Web Локальное зеркало обновлений Dr.web 0
    cloudsv 03 октября 2017, 10:55
    Web Пароль от резервной копии Bitrix 1
    cloudsv 09 июля 2017, 23:02
    Arch Linux Let's Encrypt это легко и просто 0