add overview based on kwin's placement algorithm

kwin/src/plugins/private/expolayout.cpp

kwin's overview placement algorithm first sorts by window height(2nd key center_y),

turning it into a one-dimensional row partitioning problem.

(limit binary search iteration to guarantee termination)

Then it sorts within the rows based on window center_x.

(first sort fallback rev creation_id
for stablility)
This commit is contained in:
yuiiio 2026-04-15 08:35:26 +09:00
parent 6df6a092ba
commit 41ff854483
11 changed files with 909 additions and 1 deletions

View file

@ -165,6 +165,8 @@ struct theme {
float osd_border_color[4];
float osd_label_text_color[4];
float overview_bg_color[4];
struct window_switcher_classic_theme {
int width;
int padding;