Já existe uma resposta a essa pergunta. Tudo se resume aos seguintes pontos:
- Não há evento acionado, a pesquisa é a única maneira
- O polling é sempre ruim, mas alguns métodos (conforme descrito na resposta vinculada) têm mais desempenho / peso leve do que outros
Uma alternativa seria criar um script como o seguinte (não testado, mas a ideia é clara) e executar esse script, talvez usando um pressionamento de tecla:
# cat <<EOF >/usr/local/bin/fastxrr
#!/bin/sh
if xrandr | grep "eDP1 (connected)"
then
xrandr SETUP FOR CONNECTED SCREEN
else
xrandr SETUP FOR DISCONNECTED SCREEN
fi
EOF
# chmod +x /usr/local/bin/fastxrr