Есть ли простой способ выполнить скрипт при смене активного окна?
Есть ли универсальное решение для Xorg и Wayland ?
Моя цель - выполнить скрипт, который будет определять, выполнять или не выполнять другой скрипт при смене текущего окна.
Другими словами, когда я меняю активное окно (не обращая внимания на тип события: событие мыши или клавиатуры, ...), должен выполняться скрипт.
[ Затем скрипт проверяет имя текущего окна и выполняет скрипт, если оно соответствует определенному шаблону (например, "является ли текущее окно интернет-браузером?"). Но эта часть не обсуждается. ]
Как бы вы это сделали?
.
Я думал сделать демон опроса (каждые .5s), который запускает скрипт и использует xdotool
для получения имени окна.
Но опять же я хотел бы услышать больше идей.
Заранее спасибо.
Для тех, кому интересно, вот как мне удалось заставить это работать.
Я создал скрипт:
#!/usr/bin/sh
while true
do
if [[ "$(xdotool getwindowfocus getwindowname)" =~ "Chrome" ]]
then
xbindkeys 2>/dev/null
else
killall xbindkeys 2>/dev/null
fi
sleep 0.5
done
Я запускаю этот скрипт при входе в систему, когда я переключаюсь в окно Chrome xbindkeys
запускается вместе с файлом конфигурации ~/.xbindkeysrc
, содержащим Ключи Emacs.
Это не очень элегантно, но работает.