Currently only BSP layout and primary container of custom layouts can be resized. BSP layout is not very good for ultrawide screens and resizing only primary container is limiting. This PR adds resizing for ultrawide-vertical-stack layout and refactors some code related to resize calculation.
Workspace::enforce_resize_constraints can now enforce different constraints for different layouts and for those layouts that can not be resized resize_dimensions is explicitly set to 0 (previously everything was constrained as for BSP)
New function for constraining resizing of ultrawide-vertical-stack layout, which can be resized differently then BSP
Layout calculation for ultrawide-vertical-stack now apply resize_dimensions via new function calculate_ultrawide_adjustment. Base layout is kept the same, resizing changes are applied on top
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/LGUG2Z/komorebi/pull/545
**Author:** [@NotLebedev](https://github.com/NotLebedev)
**Created:** 9/25/2023
**Status:** ✅ Merged
**Merged:** 10/7/2023
**Merged by:** [@LGUG2Z](https://github.com/LGUG2Z)
**Base:** `master` ← **Head:** `ultrawide-resize`
---
### 📝 Commits (5)
- [`51e45c4`](https://github.com/LGUG2Z/komorebi/commit/51e45c4b22afc60567e255ccf7c9278f5f76465a) Allow different resize constraints for layouts
- [`9daddeb`](https://github.com/LGUG2Z/komorebi/commit/9daddebb3315913e66840ea591d9197982d44ea1) Add resize constraints for UltrawideVerticalStack layout
- [`0dd00eb`](https://github.com/LGUG2Z/komorebi/commit/0dd00eb4817a6875a35cef787d0e956abe46c079) feat(wm): Use resize_dimensions in calculate for ultrawide layout
- [`2f9c908`](https://github.com/LGUG2Z/komorebi/commit/2f9c9088b9e84fb06c5afc35239507815996b1d8) feat(wm): Enable ultrawide layout in DefaultLayout::resize
- [`9bf7d0f`](https://github.com/LGUG2Z/komorebi/commit/9bf7d0f7ca2d31e311c83d9cbd393b09ee88b54b) feat(wm): refactor ultrawide resize calculation
### 📊 Changes
**3 files changed** (+265 additions, -80 deletions)
<details>
<summary>View changed files</summary>
📝 `komorebi-core/src/arrangement.rs` (+188 -79)
📝 `komorebi-core/src/default_layout.rs` (+1 -1)
📝 `komorebi/src/workspace.rs` (+76 -0)
</details>
### 📄 Description
Currently only BSP layout and primary container of custom layouts can be resized. BSP layout is not very good for ultrawide screens and resizing only primary container is limiting. This PR adds resizing for `ultrawide-vertical-stack` layout and refactors some code related to resize calculation.
1. `Workspace::enforce_resize_constraints` can now enforce different constraints for different layouts and for those layouts that can not be resized `resize_dimensions` is explicitly set to 0 (previously everything was constrained as for BSP)
2. New function for constraining resizing of `ultrawide-vertical-stack` layout, which can be resized differently then BSP
3. Layout calculation for `ultrawide-vertical-stack` now apply `resize_dimensions` via new function `calculate_ultrawide_adjustment`. Base layout is kept the same, resizing changes are applied on top
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/LGUG2Z/komorebi/pull/545
Author: @NotLebedev
Created: 9/25/2023
Status: ✅ Merged
Merged: 10/7/2023
Merged by: @LGUG2Z
Base:
master← Head:ultrawide-resize📝 Commits (5)
51e45c4Allow different resize constraints for layouts9daddebAdd resize constraints for UltrawideVerticalStack layout0dd00ebfeat(wm): Use resize_dimensions in calculate for ultrawide layout2f9c908feat(wm): Enable ultrawide layout in DefaultLayout::resize9bf7d0ffeat(wm): refactor ultrawide resize calculation📊 Changes
3 files changed (+265 additions, -80 deletions)
View changed files
📝
komorebi-core/src/arrangement.rs(+188 -79)📝
komorebi-core/src/default_layout.rs(+1 -1)📝
komorebi/src/workspace.rs(+76 -0)📄 Description
Currently only BSP layout and primary container of custom layouts can be resized. BSP layout is not very good for ultrawide screens and resizing only primary container is limiting. This PR adds resizing for
ultrawide-vertical-stacklayout and refactors some code related to resize calculation.Workspace::enforce_resize_constraintscan now enforce different constraints for different layouts and for those layouts that can not be resizedresize_dimensionsis explicitly set to 0 (previously everything was constrained as for BSP)ultrawide-vertical-stacklayout, which can be resized differently then BSPultrawide-vertical-stacknow applyresize_dimensionsvia new functioncalculate_ultrawide_adjustment. Base layout is kept the same, resizing changes are applied on top🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.