나는 사용하고 LXDE
있으며 내 작업에는 다음과 같은 작업이 정의 .config/openbox/lxde-rc.xml
되어 있습니다 .ALT-F4
<keybind key="A-F4">
<action name="Close"/>
</keybind>
예상대로 이는 모든 응용 프로그램에서 작동합니다. 누르면 ALT-F4창이 닫힙니다.
foo
에 면역되도록 하는 애플리케이션이 있습니다 ALT-F4. 즉, 눌렀을 때 ALT-F4창이 계속 열려 있기를 원합니다(작업은 완전히 무시되어야 합니다).
그런 규칙을 만드는 것이 가능합니까?
편집: 내 답변을 바탕으로 @Michael Homer
다음을 포함했습니다 .config/openbox/lxde-rc.xml
.
<keybind key="A-F4">
<action name="If">
<title>foo</title>
<then>
<!-- Do nothing for foo -->
</then>
<else>
<action name="Close"/>
</else>
</action>
</keybind>
foo
이것은 훌륭하게 작동하지만 OR 과 일치해야 합니다 bar
.
이를 달성하는 가장 간단한 솔루션은 무엇입니까?
답변1
이것은 가능하다만약 행동한다면:
<keybind key="A-F4">
<action name="If">
<title>* foo</title>
<then><!-- Do nothing for foo --></then>
<else>
<action name="Close" />
</else>
</action>
</keybind>
이 <title>
조건은 "foo"로 끝나는 창 제목과 일치합니다. 다른 유형의 게임에도 변형이 <title type="regex">
있습니다 . <title type="exact">
창이 일치하면 작업은 아무 작업도 수행하지 않으며, 일치하지 않으면(다른 모든 창에 대해) 평소대로 닫힙니다.
오픈박스 3.6 이상추가 선택기 태그 포함<class>
, <name>
, 그리고<role>
제목이 고유하지 않은 경우 창을 더 정확하게 식별하는 데 도움이 될 수 있습니다. type
동일한 속성과 콘텐츠를 지원 <title>
하지만 관련 X 속성에 대해 테스트되었습니다.
이전 버전의 Openbox를 사용하고 있고 제목으로 창을 식별할 수 없다면 운이 없는 것입니다. 그러나 다음과 같은 방법으로 해킹할 수 있습니다.xdotool
: 창을 보다 정확하게 식별하는 스크립트에 A-F4 작업을 바인딩한 다음 실제 닫기 작업에 바인딩된 비밀 키 조합을 보냅니다(일치하지 않는 경우).