Eu tenho um Acrobat Reader que não aplica zoom no Control + plus, mas sim no Control + agudo (Control + Swing rotula irritantemente o documento).
Eu gostaria de consertar isso usando xbindkeys e xdotool, mas a complicação é que o Control-plus também é usado por outros aplicativos.
Portanto, a ideia é interceptar o Control-plus, verificar se o Acrobat é a janela ativa. Em caso afirmativo, envie ao Acrobat um Controle agudo, caso contrário envie o Controle +.
Aqui, minha tentativa atual para o script que xbindkeys inicia no 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
Isso realmente funciona, mas o problema é que, se eu não matasse xbindkeys, o xdotool enviando ctrl-plus novamente acionaria xbindkeys e assim por diante.
Mas é claro que isso significa que toda vez que eu clico em Control + plus em uma janela não-acrobat, xbindkeys precisam ser mortos e reiniciados ...
Existe uma maneira melhor de fazer isso?
Muito obrigado!