Customizable directional window resize logic #6571
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe your PR, what does it fix/add?
Closes #6152, adds a drop-in replacement (and configurable) window resizing logic. Also will fix a bug with pseudotiled windows + resize on border being unreliable (sometimes resizes the node box, sometimes resizes the inner window).
New function:
IHyprLayout::getWindowRegion()
determines where a point is on an arbitrary rectangle defined as a CBox with an optional CBox for edge size calculation (defaults to 0) and an optionalraw
boolean for the raw untranslated integer. Returns an integer between 0 and 23 (inclusive) when translated in-function.Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Drop-in compatibility, no behavioural changes unless configured to be. Pseudotiled
general:resize_on_border
interaction now always resizes the inner window instead of the window node's box.general:edge_depth
float value thatgeneral:resize_mouse_bind_pattern
integer value that sets the pattern of the window resize direction.Is it ready for merging, or does it need work?
It's presently in a working state for dwindle and for floating windows.
TODO:
general:extend_border_grab_area
no longer does anything (bug in main branch) (broken by addd3e7)general:resize_on_border
interaction (bug in main branch)