Uživatelské aplikace > Příkazový řádek

skript - spuštění programu, vyčkání na pohyb myši, ukončení programu

(1/1)

Yullaw:
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...

Peťoš:
Cau, videl bych to na neco takoveho:

--- Kód: ---OLDMOUSEPOSITION=`xdotool getmouselocation | grep window`
while [ "$MOUSEPOSITION" = "$OLDMOUSEPOSITION" ]; do
sleep 1
OLDMOUSEPOSITION="$MOUSEPOSITION"
MOUSEPOSITION=`xdotool getmouselocation | grep window` 2>/dev/null
done

--- Konec kódu ---

Jen rychly nastrel, nezkousel jsem.




--- Kód: ---[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
--- Konec kódu ---

Yullaw:
Děkuji... Výsledek by mělo být něco takového - je to jen myšlenka:

--- Kód: ---#!/bin/bash
chromium-browser ~/Plocha/handclock.swf -kiosk
xdotool ~/Plocha/getmouselocation
kill chromium-browser

--- Konec kódu ---


--- Citace: Peťoš  Prosinec 28, 2013, 17:59:48 ---
--- Kód: ---[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
--- Konec kódu ---

--- Konce citace ---

můj test:

--- Kód: ---[yullaw@localhost Plocha]$ xdotool /home/yullaw/Plocha/getmouselocation
xdotool: error: environment variable $MOUSEPOSITION is not set.
--- Konec kódu ---

Peťoš:
Napsal jsem to trochu... lepe a radostneji :)


--- Kód: ---#!/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
--- Konec kódu ---

Tohle by uz mohlo fungovat :)

Navigace

[0] Seznam témat

Odpověď

Přejít na plnou verzi