- - 문맥 - -
저는 Openbox를 사용하여 브라우저 전용 작업 공간/데스크탑을 만들고 있습니다. 브라우저는 해당 작업 공간에서만 열리고 그 위에 생성된 다른 창은 다른 작업 공간으로 시작됩니다.
이는 대부분의 탐색에서 작동하지만 전체 화면을 지원하는 콘텐츠(예: 스트리밍 비디오 또는 Flash 앱)의 경우 "전체 화면 모드"로 전환하면 실제로 콘텐츠를 재생할 수 있는 새 창이 생성됩니다. 따라서 Openbox Kick it 전용 작업 공간에서. 즉, 전체 화면 모드를 종료하면 브라우저로 돌아가는 대신 무작위로 복잡한 작업 공간에 들어가게 됩니다.
Openbox가 전용 작업 공간에 전체 화면 콘텐츠를 유지할 수 있도록 예외를 작성해야 합니다.
- - 질문- -
xprop
전체 화면 웹 콘텐츠가 재생되는 창에 대한 정보를 얻기 위해 (또는 )을 사용하고 싶지만 wmctrl -l
(내가 아는 한) 창은 초점을 잃자마자 자동으로 닫히므로 그냥 할 수는 없습니다. 내 터미널로 전환하여 수동으로 수행하십시오. 백그라운드에서 정보를 기록할 수 있는 방법이 필요합니다. 이상적으로는 열려 있는 각 창의 이름을 기록하는 일종의 배경 모니터를 원합니다.
이것을 스크립팅하는 비교적 쉬운 방법이 있습니까? 이 작업을 수행하는 모니터링 패키지를 찾을 수 있다고 확신하지만 이는 내 요구 사항에 비해 약간 과도한 것 같습니다.
sleep 10; xprop
답변을 추가하도록 편집됨: Giles가 제안한 대로 타이머( )를 사용하세요. 나중에 참조할 수 있도록 관련 줄은 다음과 같습니다._OB_APP_CLASS(UTF8_STRING) = "Plugin-container"
답변1
창 생성을 모니터링하는 프로그램을 생각하지 못했지만 필요하지 않습니다.
wmctrl -l
루프나 타이머(예: )에서 실행 한 sleep 10; wmctrl -l
다음 전체 화면 애플리케이션을 실행하고 해당 창 속성을 기록할 수 있습니다. 더 많은 정보를 원하면 다음과 같이 할 수 있습니다.
sleep 10; xprop
10초 후에 마우스 커서가 변경됩니다. 클릭하면 xprop
전경 창에 대한 정보가 표시됩니다.
또는 xdotool
(타이머 또는 루프에서 다시) 창 일치 기능을 사용하여 창 ID를 찾습니다(예: xdotool --pid
전체 화면 창이 기존 프로세스에 있는 경우) 또는 포커스가 있는 창의 창 ID를 xdotool getwindowfocus
가져옵니다 . getactivewindow
전경 창에는 실제로 입력 포커스가 없을 수 있습니다. 일부 전체 화면 응용 프로그램은 전경에 추가 전체 화면 창을 표시하지만 "일반" 창에 포커스를 유지합니다.대신 특정 화면 위치에서 창을 쿼리하세요.또는 xdotool getmouselocation
전체 화면 창에만 해당됩니다(다중 모니터 설정의 경우 마우스 커서가 이미 오른쪽 모니터에 있는 경우).
또는 Linux에서는 텍스트 콘솔(예: Ctrl++)로 전환하고 로그인하여 실행한 Alt다음 GUI(실행 등)에 액세스할 수 있습니다. 일부 설정을 통해F1export DISPLAY=:0
xprop
xdotool
XAUTHORITY
설정해야 할 수도 있습니다..