Mageia Forum
Uživatelské aplikace => Příkazový řádek => Téma založeno: Yullaw Prosince 25, 2013, 14:20:45
-
Ahojte,
předem přeji všem krásné a pohodové Vánoce a klidné prožití svátků :)
Chci se optat na skript, který po spuštění spustí externí program a ihned vyčkává na pohyb myši. Pokud se s myší pohne, skript ukončí/zavře (nejspíše příkazem kill) onen program. Toto chování je známé při automatickém spuštění spořiče obrazovky.
Nač to potřebuji sdělím až po testech s příslušným manuálem ;)
Za odpovědi děkuji předem...
-
Cau, videl bych to na neco takoveho:
OLDMOUSEPOSITION=`xdotool getmouselocation | grep window`
while [ "$MOUSEPOSITION" = "$OLDMOUSEPOSITION" ]; do
sleep 1
OLDMOUSEPOSITION="$MOUSEPOSITION"
MOUSEPOSITION=`xdotool getmouselocation | grep window` 2>/dev/null
done
Jen rychly nastrel, nezkousel jsem.
[petos@Lacerta ~]$ xdotool getmouselocation
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 16777270
x:732 y:1079 screen:0 window:16777270
-
Děkuji... Výsledek by mělo být něco takového - je to jen myšlenka:
#!/bin/bash
chromium-browser ~/Plocha/handclock.swf -kiosk
xdotool ~/Plocha/getmouselocation
kill chromium-browser
[petos@Lacerta ~]$ xdotool getmouselocation
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 27263721
findclient: 16777270
x:732 y:1079 screen:0 window:16777270
můj test:
[yullaw@localhost Plocha]$ xdotool /home/yullaw/Plocha/getmouselocation
xdotool: error: environment variable $MOUSEPOSITION is not set.
-
Napsal jsem to trochu... lepe a radostneji :)
#!/bin/bash
function waitfnc() {
eval $(xdotool getmouselocation --shell 2> /dev/null)
MOUSEPOSITION="$X$Y"
OLDMOUSEPOSITION=$MOUSEPOSITION
while [ "$MOUSEPOSITION" = "$OLDMOUSEPOSITION" ]; do
sleep 1
OLDMOUSEPOSITION="$MOUSEPOSITION"
eval $(xdotool getmouselocation --shell 2> /dev/null )
MOUSEPOSITION="$X$Y"
done
return
}
chromium-browser ~/Plocha/handclock.swf -kiosk &
LASTPID=$!
waitfnc
kill -9 $LASTPID
return 0
Tohle by uz mohlo fungovat :)