As ferramentas simples para obter a posição do mouse são xdotool
, basta instalar primeiro e seguir as etapas:
sudo apt-get install xdotool
então estamos usando xdotool getmouselocation --shell
para ver a posição atual do mouse: o resultado será algo assim:
X=845
Y=447
SCREEN=0
ou executando eval $(xdotool getmouselocation --shell)
colocará a posição nas variáveis do shell X
, Y
e SCREEN
. Depois disso, podemos acessar essas variáveis com isso:
echo $X $Y $SCREEN
Bem, agora precisamos de um loop while para verificar a posição do mouse sempre:
while true
do
[get mouse position]
[if position =bottom-right corner then lock screen]
done
ok, então nossos scripts seriam assim:
#! /bin/sh
while true
do
eval $(xdotool getmouselocation --shell)
if [ $X -ge 1919 -a $Y -ge 1079 ]; then
gnome-screensaver-command -l
fi
done
salve o script chamado "lock.sh" no seu diretório home e execute-o por sh lock.sh
e mova o mouse para o canto inferior direito e veja o resultado. legal!
explique:
Combinamos condições usando determinados operadores. Para a sintaxe de colchete único que temos usado até agora, "-a" é usada para e. e "-o" para ou. Exemplo:
if [ $foo -ge 3 -a $bar -ge 10 ]; then
A condição acima retornará true se $foo
contiver um número inteiro g reater do que ou e qual para 3 (-ge 3) e também $bar
contiver um integer g reater ou e qual para 10. depois execute a linha de comando da tela de bloqueio gnome-screensaver-command -l