yshui / picom

A lightweight compositor for X11
Other
3.92k stars 576 forks source link

Refactor window tree management #1224

Closed yshui closed 3 months ago

yshui commented 3 months ago

Make more assumption about how window managers structure the window tree, and move some of X11 queries into the critical section.

codecov[bot] commented 3 months ago

Codecov Report

Attention: Patch coverage is 75.00000% with 32 lines in your changes are missing coverage. Please review.

Project coverage is 36.71%. Comparing base (21777fc) to head (23ced8f).

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/yshui/picom/pull/1224/graphs/tree.svg?width=650&height=150&src=pr&token=NRSegi0Gze&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Yuxuan+Shui)](https://app.codecov.io/gh/yshui/picom/pull/1224?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Yuxuan+Shui) ```diff @@ Coverage Diff @@ ## next #1224 +/- ## ========================================== - Coverage 36.80% 36.71% -0.09% ========================================== Files 52 52 Lines 12014 12029 +15 ========================================== - Hits 4422 4417 -5 - Misses 7592 7612 +20 ``` | [Files](https://app.codecov.io/gh/yshui/picom/pull/1224?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Yuxuan+Shui) | Coverage Δ | | |---|---|---| | [src/common.h](https://app.codecov.io/gh/yshui/picom/pull/1224?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Yuxuan+Shui#diff-c3JjL2NvbW1vbi5o) | `82.75% <ø> (ø)` | | | [src/win.h](https://app.codecov.io/gh/yshui/picom/pull/1224?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Yuxuan+Shui#diff-c3JjL3dpbi5o) | `80.55% <100.00%> (+1.14%)` | :arrow_up: | | [src/inspect.c](https://app.codecov.io/gh/yshui/picom/pull/1224?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Yuxuan+Shui#diff-c3JjL2luc3BlY3QuYw==) | `0.00% <0.00%> (ø)` | | | [src/picom.c](https://app.codecov.io/gh/yshui/picom/pull/1224?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Yuxuan+Shui#diff-c3JjL3BpY29tLmM=) | `60.59% <33.33%> (-0.42%)` | :arrow_down: | | [src/win.c](https://app.codecov.io/gh/yshui/picom/pull/1224?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Yuxuan+Shui#diff-c3JjL3dpbi5j) | `69.58% <92.50%> (+1.25%)` | :arrow_up: | | [src/event.c](https://app.codecov.io/gh/yshui/picom/pull/1224?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Yuxuan+Shui#diff-c3JjL2V2ZW50LmM=) | `69.43% <68.29%> (-0.52%)` | :arrow_down: | ... and [1 file with indirect coverage changes](https://app.codecov.io/gh/yshui/picom/pull/1224/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=Yuxuan+Shui)