2012-07-19 3 views
1

데코 레이팅되지 않은 윈도우 (예 : 직접 장식을 페인트 할 수 있음)가 필요한 경우 현재 X11 윈도우 관리자에게 윈도우 영역을 드래그 할 수 있어야한다고 알려주는 방법이 있습니까? 창 관리자가 관리합니까? 저급 솔루션 (Xlib, XCB 또는 그와 비슷한 것)에 관심이 있습니다. 가능한 한 표준 솔루션으로 찾고 있습니다.X11 윈도우의 섹션을 드래그 가능으로 표시하기

또한 닫기 버튼을 나타내는 창 영역을 표시 할 수 있습니까?

창 장식에 추가 콘텐츠를 첨부 할 수 있다면 좋겠다고 생각하고 있습니다. 이것은 Apple의 OS X에서 영감을 얻었습니다. 모든 장식은 보통 old NSView이고 일부는 (닫기 버튼 등) 문서화 된 방식으로 액세스 할 수도 있습니다. 추가 콘텐츠를 추가하는 것은 OS X에서 영감을 얻었습니다. 제목 표시 줄의 창과 관련된 문서의 이름을 마우스 오른쪽 버튼으로 클릭하고 문서의 경로를 가져올 수 있습니다. 동시에 응용 프로그램이 응답하지 않아도 창은 계속 움직일 수 있으므로 드래그 가능한 영역은 어떻게 든 창 관리자 (즉, WindowServer)에게 전달되어야합니다.

따라서 X11에서 표준 방식 (또는 광범위한 FreeDesktop.org 확장 프로그램 등)을 사용하려면이 기능에 대해 알고 싶습니다. :-)

+0

GUI 프레임 워크는 종종 하위 창을 만들어 이런 종류의 작업을 수행합니다. 주어진 "위젯"은 대개 서로 협력하여 작동하는 여러 개의 창입니다. 또 다른 (더 간단한) 방법은 1) 마우스 이벤트를 처리하지만 2) 마우스 x/y가 원하는 영역 내에 있지 않으면 아무 것도하지 않습니다. "Xlib"까지 꽤 많이 있습니다 :) – paulsm4

+0

@ paulsm4 GUI 프레임 워크를 호스팅하는 앱이 정지되면 창은 움직이지 않습니다. 이것이 제가 물었던 이유입니다. –

답변

1

전혀 없습니다.

X11은 윈도우 관리자가 무엇인지 알지 못합니다. ICCCM과 Freedesktop 표준은 크게 다르지 않습니다. 그들은 창 관리자에 대해 알고 있지만 창을 닫고 끌기위한 특별한 방법을 요구하지 않으며, 실제로 그러한 일을 할 수있는 능력을 요구하지도 않습니다. 따라서 닫는 버튼이나 끌기 모서리 또는 제목 표시 줄에 대한 공식적인 개념은 없으며 그러한 정의에 대한 API는 없습니다.

+0

나는 이것을 두려워하고 있었다. 너무 나빴어. –