Zenway

Linux - это интересно!

Вы не вошли.

#1 11-04-2019 08:03:58

svm
Модератор
Откуда: N-sk 54.93, 82.89
Здесь с 04-12-2017
Сообщений: 123
Сайт
LinuxFirefox 60.0

Как создать простейший GUI для настройки скрипта?

наба-BASH-ил скрипт для отслеживания кликов в заданных местах/углах экрана ,

чудо-скрипт
#!/bin/bash

##получаем id мышки ,чтобы знать с кого спрашивать :)
id=$(xinput |grep -Po 'MOUSE.+id=\d{1,2}' | grep -Po '\d{1,2}') ;
##получаем X Y размер экрана
#x_scr=$(xwininfo  -root|grep  'Width:'|grep -oP '\d+')
#y_scr=$(xwininfo  -root|grep  'Height:'|grep -oP '\d+')

##бесконечный цикл с задержкой 1 сек.
while true; do sleep 1;

##получаем текущее состояние всех кнопок  мыши
buttons=$(xinput --query-state $id)

##проверка нажата ли кнопка мыши ПКМ
if [[ $(echo $buttons | grep -o '\[3]=down') != "" ]] ;then
    ##получаю X Y координаты  курсора мыши ,
#    x_cursor=$(xdotool getmouselocation | grep -oP 'x:\d+'|grep -oP '\d+')
#    y_cursor=$(xdotool getmouselocation |grep -oP 'y:\d+'|grep -oP '\d+')
cursor=$(xdotool getmouselocation)
	## проверка позиции мышиного курсора
	##если они попали в заданные рамки ,
#	if (( 0 <= $x_cursor && $x_cursor <= 5 && 0 <= $y_cursor && $y_cursor<= 5 )); then
    if [[ $(echo $cursor | grep -Po 'x:[0-9]{1,}\s+y:[0-9]{1}\s') != "" ]] ;then
    ##то выполняю свой скрипт/команду
    qs ;
    fi
## другие проверки условий
## бла-бла-бла
## выполнение другой команды
fi
done

конечно можно  сразу записать все переменные в файл или сделать ввод параметров через zenity ,

но мы не ищем лёгких путей

maxresdefault.jpg

и есть желание попробовать сделать в виде стандартного окна GTK (можно и на QT)

а-ля горячие углы в compiz

uZpgm50.png


Умный поймёт , а дураку и так всё равно.

Вне форума

11-04-2019 08:03:58

google
реклама

Re: Как создать простейший GUI для настройки скрипта?



Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] CCBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.007 сек, 9 запросов выполнено - Использовано памяти: 475.06 Кбайт (Пик: 529.88 Кбайт) ]