10/12/08

Como sacarse de encima gnome-power-manager

Habia entrado en la situacion de que gnome-power-manager no andaba y xscreensaver se trababa, asi que decidi que era hora de simplificar toda esa basura y resumirla a un script. El script es basatante simple, guarda el valor x del mouse y el valor 1 de /proc/interrupts (este valor es un numero que cambia cuando tocamos una tecla en el teclado) en variables y entra en un loop que cada 5 segundos le suma 5 a una variable que llamariamos "segundos", ahora en cada loop se vuelve a fijar estos 2 valores y si cambiaron la variable es reseteada a 0, entonces recien cuando no se toque el mouse ni el teclado por 1200 segundos el monitor se apaga con xset.


#!/bin/bash
# Power of the fucking monitor without
# fucking gnome-power-manager or xscreensaver.
# Alvare-ClrnD / 2.66 @ 3.52

a=`/usr/local/bin/mousepos | head -n 1`
c=`awk "NR == 3 {print \\$2}" /proc/interrupts`
b=0
while true;do
     sleep 5
     if [ "$a" -eq "`/usr/local/bin/mousepos | head -n 1`" ] && [ "$c" -eq "`awk "NR == 3 {print \\$2}" /proc/interrupts`" ];then
           b=$(($b+5))
     else
        a=`/usr/local/bin/mousepos | head -n 1`
        c=`awk 'NR == 3 {print $2}' /proc/interrupts`
        b=0
     fi
     if [ $b -gt 600 ];then
        xset dpms force off # Shutdown screen
        b=0
     fi
done

No hay comentarios: