2010-08-20 4 views
0

xlib를 사용하여 간단한 창 관리자를 작성했습니다. 이 코드는 클라이언트 윈도우를 프레임 윈도우라고하는 클라이언트 윈도우보다 약간 큰 윈도우로 변경합니다. 클릭 투 포커스 정책을 구현하려고합니다. 프레임 창에서 마우스 단추를 누르고 buttonpress에서 프레임 창을 올릴 수 있으면 buttonpress 이벤트가 발생합니다. 그러나 클라이언트 윈도우에서 마우스 버튼을 누르면 이벤트가 발생하지 않습니다. 클라이언트 윈도우에서 마우스 버튼을 눌러도이 이벤트를 트랩하고 프레임 윈도우를 올리는 것이 좋습니다.Xlib 자식 창 이벤트 가져 오기

답변

0

자식 창에서 XGrabButton()을 실행해야합니다. 다음 문제는 버튼을 누를 때 자식 창이 포커스를 잃는다는 것입니다. 아마도 "포커스 창"에 대한 자신 만의 생각을 유지하고 detail = NotifyGrab 이벤트에서는 변경하지 않을 것입니다. 예를 들어 metacity 소스 코드를 참조하십시오.