felixfung / skippy-xd

A window selector for X11 with Exposé and live preview Alt-Tab effects and more
GNU General Public License v2.0
23 stars 2 forks source link

EXPOSE: improve boxy layout #10

Open felixfung opened 1 year ago

felixfung commented 1 year ago

Currently in boxy layout expansion phase, a window shifts right or down, based only on screen aspect ratio.

This decision to shift right/down could also take account affinity and window geometry etc.

felixfung commented 1 year ago

The current boxy algorithm performs decent when the number of windows is small, and the window sizes are relatively uniform. When these conditions are not followed, often the layout arrangement are hugely sub-optimal. Often, the reason is that the rotation contraction operation, which is used to rescue sub-optimal layout, is vetoed, due to collision found in rotation contraction operation.

Hence the first step to improve boxy would be to implement rotation contraction fallback when collision is found. It might introduce further complications though...

I have a new idea that expose layout should be implemented by physics based model, with force and 2nd order derivative involved....

felixfung commented 4 months ago

Raised https://invent.kde.org/plasma/kwin/-/issues/231