Skip to content

plugins/overview: Natural WindowHeap Layout

Blazer Silving requested to merge breakingspell/kwin:natural-jam into master

Proposing for 6.3, this MR re-introduces the Natural WindowHeap layout used by the Overview+Desktop Grid, and provides a user-accessible option to switch between the layout styles. The Grid-Like layout is retained as the default, per Design guidelines.

Details, discussion, video example: #239 (closed) : BUG 488828

The Natural Layout's cardinal point is the prioritization of placement relative to the window's origin

The Grid-Like layout developed for 6.1 prioritizes placement into an optimized grid

Both have functional and aesthetic value. Further arguments to support those standpoints:

!6824 (comment 1080569) !4916 (comment 853420)

Changes:

  • The core Natural Layout function is added back to expolayout.cpp adjacent to the Grid-Like layout.
  • Integrate with KCM settings, with new layout set as the default. Converted this to Enum for better referencing and integration with future QML-based work.
  • A few changes to the Natural function to sync with a WindowHeap refactor. These same changes applied for the Grid-Like layout, no additional tech debt accrued.

Notes:

  • This makes it so new "Smart" layout simply superseded the old, broken Closest layout option, without removing the Mac-like Natural layout. Nothing else is changed, no additional error output in the console, nothing is broken.

  • So far, any bugs I've tested with the Overview are reproducible using both layouts, and I've been running this daily from 6.1 onward with no issues. This should ease maintenance for now, and I pledge to maintaining this feature.

Edited by Blazer Silving

Merge request reports

Loading