мне нужно по событию (ПКМ) получить координаты мышиного курсора,
и если они удовлетворяют заданным координатам ,находится в верхнем левом углу монитора,
то выполнить некое действие/команду.
не пойму как
##получаю id мышки ,чтобы знать с кого спрашивать :))
id=$(xinput |grep -Po 'MOUSE.+id=\d{1,2}' | grep -Po '\d{1,2}') ;
echo $id ;
##фильтрую выхлоп xinput ,т.е вывожу только события по клику ПКМ.
xinput test $id | grep -P 'button.+3'
##теперь мне нужно это куда то записать (в переменную/файл) ,НЕ понимаю как это сделать???
##после проверить эту переменную/файл ,если не пустой ,т.е. был клик
##то получаю координаты мыши ,если они попали в заданные рамки ,то выполняю
if
[[ $(xdotool getmouselocation | grep -Po 'x:[0-9]{1}\s+y:[0-9]{1}\s') != "" ]] ;
then echo "Ура-а-а-а ЗарАботАлА" ;
fi
##удаляю/затираю переменную/файл
##и начинаю всё сначала
xinput test $id | grep -P 'button.+3' > /tmp/btn
такой варианты не проходит (файл остаётся пустым)
P.S.
прописал в когфиг xbindkeys (назначил ПКМ на выполнение скрипта)
"my-script"
b:3
НО это не то, что нужно, т.к. исходный функционал кнопки уже не будет работать.
ПКМ - это как правило контекстное меню .
мне же нужно чтобы оно отрабатывало , а уже после запустило и мой скрипт ,
в котором если проходит дополнительная проверка координат курсора ,то запускается нужная команда.
Короче говоря ,я хочу "нагородить" Горячие углы .
всё это есть в compiz ,но я хочу понять как это можно реализовать
"Ура-а-а-а ЗарАботАлА" °‿°
#!/bin/bash
##получаю id мышки ,чтобы знать с кого спрашивать :)
id=$(xinput |grep -Po 'MOUSE.+id=\d{1,2}' | grep -Po '\d{1,2}') ;
##бесконечный цикл с задержкой 0.7 сек.
while true; do sleep 0.7;
##проверка нажата ли кнопка мыши ПКМ
if [[ $(xinput --query-state $id | grep -o '\[3]=down') != "" ]] ;
then
##получаю координаты мыши ,если они попали в заданные рамки 0<x<∞ 0<y<9
if [[ $(xdotool getmouselocation | grep -Po 'x:[0-9]{1,}\s+y:[0-9]{1}') != "" ]] ;
##то выполняю свой скрипт/команду
then my-script ;
fi
fi
done;