Я пытаюсь выяснить, как сделать сценарий, который работает следующим образом:
python3/path/to/script.py
затем сценарий поместил бы указатель мыши в левый край дисплея и в центре вертикальной оси. Если я выполнил это:
python3/path/to/script.py 10 - 10
затем сценарий поместил бы указатель мыши 10 пкс-> от левого края экрана и-10px (вниз) из центра вертикальной оси.
Я - вполне уверенный xdotool, и Python может выполнить это, но я - полный новичок когда дело доходит до программирования чего-либо, и даже при том, что я нашел эту ссылку, я все еще не уверен, как продолжить двигаться. Если бы кто-либо чувствует себя так добрым для выручения меня с этим, это значительно ценилось бы, но если не затем никакие заботы.
Если кому-либо любопытно относительно того, почему я хочу сделать это: я настраиваю планшет для использования i3wm. Я создаю сенсорные ярлыки кнопки для i3 управления окнами с помощью jgmenu. Jgmenu имеет опцию запуститься в местоположении указателя мыши. Я хотел бы использовать touchegg жест для первого шага указатель мыши с этим сценарием, затем запустил бы jgmenu.
Этот подход использует утилиты для X-серверов, он, по-видимому, не будет работать с Уэйлендом.
Вот немного bash
функция для Вас:
line_up ()
{
vc=$(( $(xwininfo -root|sed '/Height/!d;s/.* //') / 2 ));
[[ -n $2 ]] && vc=$(( -$2 + vc ));
xdotool mousemove $(( $1 )) $vc
}
Как острота:
line_up(){ vc=$(($(xwininfo -root|sed '/Height/!d;s/.* //')/2));[[ $2 ]]&&vc=$((-$2+vc));xdotool mousemove $(($1)) $vc;}
Это использует вывод xwininfo
получить высоту текущего дисплея, разделяет его пополам и сохраняет его как переменную cv
. Если $2
существует, это вычтено. xdotool
затем перемещает курсор в координаты $1,$vc
. Я использую в своих интересах факт это bash
арифметическое выражение просто возвращается 0
если $1
не установлен, плоскость xdotool mousemove $1 …
просто бросил бы ошибку в этом случае. Как выше Вас может вызвать функцию с так же аргументами как Вам угодно, если нет ни одного, во что она просто переместит курсор 0,totalheight/2
, если существует тот к $1,totalheight/2
и если существует два или больше к $1,totalheight/2-$2
.
$ xwininfo -root|sed '/Height/!d' # display height is 1024 px
Height: 1024
$ xdotool getmouselocation # current mouse location: 469,875
x:469 y:875 screen:0 window:15294612
$ line_up
$ xdotool getmouselocation # current mouse location: 0,512
x:0 y:512 screen:0 window:14680366
$ line_up 10
$ xdotool getmouselocation # current mouse location: 10,512
x:10 y:512 screen:0 window:14680366
$ line_up 20 -10
$ xdotool getmouselocation # current mouse location: 20,522
x:20 y:522 screen:0 window:14680366
man xdotool