Как сказать, вводит ли пользователь активно в Linux?

Я хотел бы записать немного сценария для выяснения у меня, что я делаю равномерно, но я хотел бы, чтобы он не захватил фокус, если я посреди писания электронного письма или заполнения пароля. Эти две опции, которые я придумал, являются (1) notify-send/pynotify, который позволяет мне открыться пузырь уведомления на верхнем правом из моего экрана, который прекрасен, но, может казаться, не включает поле ввода текста; и (2) zenity и подобный, которые поднимают окно с текстовым полем, но крадут фокус, когда они делают.

2
задан 23.06.2014, 14:32

2 ответа

Ага, xprintidle, кажется, ответ на мое горе. Это отслеживает движение мыши, а также клавиатуру, но дает время простоя в миллисекундах так кажется достаточно хорошим.

http://www.dtek.chalmers.se/~henoch/text/xprintidle.html

sleep 10 
echo waiting for me not to be busy
while [ "$(xprintidle)" -lt 3000 ]; do sleep 1; done
echo interrupting
(unset WINDOWID; zenity --title "Annoyer" --entry --text "Are we there yet?")
3
ответ дан 08.12.2019, 05:52

Если в X, вот сообщение, которое содержит мониторы сценариев /dev/input/event:

Важная команда:

sudo hexdump -e '48/1 "%x " "\n"' /dev/input/event1 | awk '( $29 == 1) { print "PRESS: " $13 } ( $29 == 0 ) { print "RELEASE: " $13 }'

Естественно, Вы должны иметь sudo полномочия, иначе это станет тем, что предлагает то сообщение...

2
ответ дан 08.12.2019, 05:52

Теги

Похожие вопросы