Eu não posso adicionar um comentário, mas para desligar completamente a tela eu costumo usar isso
xset -dpms &
xset s noblank &
xset s off &
Eu não sou especialista em arquivos sqlite, mas você pode usar um comando como
sqlite3 ./.mozilla/firefox/*default/places.sqlite "select a.url from moz_places a;" | grep bbc.co.uk/iplayer
e tente obter um registro de data e hora para verificar o início do apagamento da tela. Espero que isso possa ser de alguma utilidade!
EDITAR
Eu mergulhei um pouco nele e saí com este script python
import subprocess
def get_last_visit():
shell_cmd = ('sqlite3 ~/.mozilla/firefox/*default/places.sqlite '
'"select b.visit_date, a.url from moz_places a, '
'moz_historyvisits b where a.url like '
'\'%www.bbc.co.uk/iplay%\';"')
proc = subprocess.check_output(shell_cmd, shell=True)
dates = [x[:10] for x in proc.split()]
return int(max(dates))
def get_curren_date():
current_date = subprocess.Popen(['date', '+%s'],
stdout=subprocess.PIPE)[0][:10]
return int(current_date)
def main():
last_visit = get_last_visit()
current_date = get_curren_date()
if current_date - last_visit < 300:
subprocess.call(['xset', '-dpms'])
subprocess.call(['xset', 's', 'noblank'])
subprocess.call(['xset', 's', 'off'])
if __name__ == '__main__':
main()
Eu não testei, mas você pode tentar adicioná-lo ao seu crond para executar a cada 5 minutos, deve verificar se você estava no site bbc / iplay nos últimos cinco minutos e, se sim, desligar o screen blank . Está longe de ser perfeito, mas espero que alguém possa melhorá-lo e dar sugestões!