2014-09-20 2 views
4

두 창 사이에 특정 겹침 순서를 유지해야하는 두 개의 x11 창이 있습니다. 즉 하나의 창은 다른 창 위에 있어야합니다. 응용 프로그램 외부의 다른 창은 신경 쓰지 않습니다. 일반적으로, 나는 이것을 위해 부모/자식을 사용할 것이지만, X11이 자식 윈도우를 부모에게 클립하기 때문에, 나는 그것을 가짜로 만들어야 만한다. 적절한 방법으로 윈도우 스택을 유지하거나 조정할 수있는 다양한 방법을 시도했습니다. 그러나 WM은 XRaiseWindow()를 제외하고는 거의 모든 것을 무시하고 있습니다. 이는 너무 무차별 적이며 다른 윈도우에 문제를 일으 킵니다.다른 창 위에 X11 창 유지하기

그래서 두 개의 창 사이에 스태킹을 설정하는 방법과 부모를 자식 클리핑으로 만들지 않는 부모/자식을 설정하는 방법이 있습니까?

+0

Qt 또는 GTK와 같은 툴킷을 사용할 수없는 이유는 무엇입니까? 그렇지 않으면 [EWMH] (http://standards.freedesktop.org/wm-spec/wm-spec-latest.html)를 읽어보십시오. –

+0

Qt GTK는 선택할 수 없습니다. 그리고 예, 저는 EWMH를 읽었습니다. 그러나, 내가 말했듯이 WM은 명령을 거부하고있다. – QuickGrip

+0

WM에 의해 제어됩니다 - EWMH를 지원하지 않는 매우 기본적인 WM을 사용하고 있다고 말하는 것입니까? 어느 WM, 어떤 버전? 다른 것을 사용할 수 있습니까? 예를 들어, 부모 - 자식 관계는 X11 서버의 개념이 아니며 WM에서 처리되는 내용입니다. 부모님이 아이를 잘라내지는 않지만 WM이됩니다. 그래서 우리는 시작을 위해 당신의 WM을 알아야 할 것입니다. –

답변

1

예, WM_TRANSIENT_FOR Window 속성을 사용하면 (일시적인) 부모를 자식 뒤에 숨기지 않고 나타나게 할 수 있습니다. Qt는이를 내부적으로 사용합니다. 예제 사용을 위해 소스를 grep 할 수 있습니다.

this answercap도 참조하십시오.

관련 문제