X Window가 닫힐 때 감지

X Window가 닫힐 때 감지

창 관리자 Ubuntu 20.04.5 LTS와 함께 실행 중 입니다 .XFCE4

특정 X 창이 닫힐 때 쉘 스크립트를 시작하는 방법을 찾고 있습니다.

나는 루프에서 실행되거나 문제의 X 창이 존재하는지 계속 확인하고 X 창이 더 이상 감지되지 않을 때 쉘 스크립트를 실행하는 프로그램을 만들 수 있다는 것을 알고 wmctrl있습니다 xdotool.

하지만 바쁜 대기 기반 프로그램을 작성하지 않고도 이 중 일부 또는 전부를 수행할 수 있는 이벤트 기반 유틸리티가 있는지 궁금합니다.

어떤 제안이 있으십니까?

미리 감사드립니다.

답변1

이를 수행하는 쉬운 방법은 xprop표준 X11 유틸리티를 사용하는 것입니다. 창 ID, 창 이름 또는 대화형 클릭을 통해 창을 식별하는 방법을 제공할 수 있으며 창의 X11 속성이 표시됩니다. 이 옵션을 추가하면 -spy속성 변경 이벤트가 표시될 때까지 대기하는 루프가 생성됩니다. 이는 바쁜 루프가 아니지만 표준 X11 메커니즘을 사용하여 요청된 이벤트를 기다립니다. 창이 사라지면 이벤트 큐가 닫히고 xprop깔끔하게 종료됩니다. 예를 들어,

xterm -title mytest -e 'sleep 5' &
sleep 1
xprop -spy -name mytest
echo "rc=$? xterm done"

일반적으로 창이 아이콘화되는 경우와 같이 몇 가지 속성만 변경됩니다.

관련 정보