Я пытаюсь понять, как композиторы работают на X (ну, в основном потому, что ни xcompmgr, ни cairo-compmgr не могут правильно отрисовывать тени для моего потрясающего wm~~~)
Я прочитал часть исходного кода как xcompmgr, так и cairo-compmgr, но до сих пор не очень понимаю, как они это делают.
Я хочу знать, как они узнают, где должна быть тень (ну, точно вокруг окна, но тень может быть и под другим окном, и ее не нужно рисовать), а также где (на каком слое/окне ) они рисуют тень. Вероятно также, как используются все эти расширения X (и для чего они нужны) и как cairo-compmgr использует cairo для работы с низкоуровневыми вещами X.
Мне немного сложно изучить их из исходного кода, потому что многие вещи (особенно X-расширения) плохо документированы. Также будет полезно просто указать, где я должен смотреть.
src/compositor/compositor-clutter.cв mutter 2.27.1 — отличный пример. - person yuyichao   schedule 11.02.2012