윈도우 메니져가 어떤식으로 작동하는건가요???

lowid의 이미지

X- 의 윈도우메니저 들이 하위 윈도우를 어떤식으로 제어하는지 궁금합니다..

(일단 제일 쉬워보이는 ratpoion 0.01버전이랑 kldp-wiki의 X프로그래밍 페이지를 보고 있긴해요.)

~/.xinitrc에서 실행되는 윈도우메니저가 어떤식으로 X에 영향을 미치게 되는지 궁금하네요..

X->윈도관리자->기타 윈도우.. 이런식으로 대충 제어가 될거라는거는 짐작하지만...

그 과정을 뭐 어떻게 좀 더 자세히 알수 있는 방법이 없을까요...

뭐 어떻게 시그널로 주고 받는거 같긴한데.. (아 제대로 설명을 못하겠네요..)

뭐랄까 뭔가 고리? 가 끈어진 느낌 같은게 들어서요...

추가> Xlib를 더 자세히 배울수 있는 사이트가 어디 있나요?? xorg슥 눈팅해보긴 했는데 못찻겠더라구요;

atie의 이미지

freedesktop.org git에 있는 compiz core 소스 중에 main, display, screen, window와 event, 그리고 session을 보는 방법도 위의 질문에 대한 이해를 돕는데는 괜찮을 듯 싶습니다.
----
I paint objects as I think them, not as I see them.
Ubuntu Edgy user / Ubuntu KoreanTeam

----
I paint objects as I think them, not as I see them.
atie's minipage

lowid의 이미지

 
16 Atom wm_state;
 17 Atom wm_change_state;
 18 Atom wm_protocols;
 19 Atom wm_delete;
 20 Atom wm_take_focus;
 21 Atom wm_colormaps;
 
126   wm_state = XInternAtom(dpy, "WM_STATE", False);
127   wm_change_state = XInternAtom(dpy, "WM_CHANGE_STATE", False);
128   wm_protocols = XInternAtom(dpy, "WM_PROTOCOLS", False);
129   wm_delete = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
130   wm_take_focus = XInternAtom(dpy, "WM_TAKE_FOCUS", False);
131   wm_colormaps = XInternAtom(dpy, "WM_COLORMAP_WINDOWS", False);

대체 Atom이라는게 구체적으로 무었을 말하는건가요??

---------------------------------------------
아치리눅스좀 써주세요
-> 아치리눅스 유저 좀 꼬셔오세요. 1인당 10명!