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

@ -20,6 +20,7 @@ enum input_mode {
LAB_INPUT_STATE_RESIZE,
LAB_INPUT_STATE_MENU,
LAB_INPUT_STATE_CYCLE, /* a.k.a. window switching */
LAB_INPUT_STATE_OVERVIEW, /* overview mode */
};
struct seat {