xdotool и xbindkeys

У меня есть считыватель Acrobat, который не увеличивает Control + plus, а скорее Control + sharp (Control-plus раздражает вращение документа).

Я хотел бы исправить это с помощью xbindkeys и xdotool, но усложнение заключается в том, что Control-plus также используется другими приложениями.

Таким образом, идея состоит в том, чтобы перехватить Control-plus, проверить, является ли Acrobat активным окном. Если это так, отправьте Acrobat a Control-sharp, иначе отправьте Control-plus.

Здесь моя текущая попытка для скрипта, который xbindkeys запускает на Control + plus:

WM_CLASS=$(xprop -id `xdotool getactivewindow` WM_CLASS |awk '{print $4}') if [ "$WM_CLASS" = "\"Acroread"\" ]; then sleep 0.1s; xdotool key --clearmodifiers ctrl+acute else killall xbindkeys xdotool key --clearmodifiers ctrl+plus xbindkeys fi 

Это действительно работает, но проблема в том, что если бы я не убивал xbindkeys, а xdotool, отправляя ctrl-plus, снова запускал бы xbindkeys и так далее.

Но, конечно, это означает, что каждый раз, когда я нажимаю Control + plus в окне без акробата, xbindkeys нужно убивать и перезапускать …

Есть лучший способ сделать это?

Большое спасибо!

Interesting Posts

Копирование новейших файлов в существующий каталог

racoon IPSec / L2TP Client

Мой Linux-рабочий стол зависает случайно. Что искать в журналах

Unix – как добавить текст в каждую строку файла, за исключением строки заголовка / первой строки

Как дросселируются операции ввода-вывода из планировщика ввода-вывода в драйверы низкого уровня SCSI

Как сообщить systemd-logind, что сеанс не простаивает, без использования среды рабочего стола или диспетчера сеансов?

Используя awk для извлечения значения, выполните вычисление

Команда macOS: ls перестала работать

Удивительно большие накладные расходы при создании небольшого объема ubifs

Конфликт Python psutil для Терминатора на Centos 7

Что означает «охватывающие файлы» при помощи Manpage?

Как извлечь одно значение из однострочных кортежей?

Ошибка компоновщика о -laudio

разница между useradd -b и useradd -d

Как установить google chrome с apt-get?

Linux и Unix - лучшая ОС в мире.