mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-01-11 14:40:25 +01:00
Resizing breaks if workspace-layout param is used for monitor
#89
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @labuut on GitHub (Jun 1, 2022).
OS: Windows 10
komorebi: 0.1.9-x86_64-pc-windows-msvc
Hello.
I have two-monitor setup and I noticed a strange behaviour:
workspace-layoutparam for monitor0I can't resize layout on monitor0;workspace-layoutparam for monitor1I can't resize layout on monitor1;0and1monitors;@LGUG2Z commented on GitHub (Jun 2, 2022):
I think this is a case of requiring clearer documentation- the
resize-edgeandresize-axiscommands (and by extension, drag-to-resize) only apply to thebsplayout currently.resize-axiscan also be used with custom layouts to increase and reduce the size of thePrimarycolumn, but drag-to-resize is only implemented for thebsplayout.The layout engine is probably the biggest piece of technical debt in this project, and it comes down to the choice of data structure used to hold the windows (a Ring instead of a Tree). Because of this data structure choice, resizing has to be implemented separately for different layout.
I'd welcome a PR to migrate to a data structure that would allow for resizing to be implemented once for any layout (like a tree) from anyone braver than I when it comes to implementing data structures with cyclic references in Rust, but this is not something that I would have any interest in undertaking for myself.
@labuut commented on GitHub (Jun 6, 2022):
Ok, I got it, thank you. I'll try to help you If I have enough time to understand rust)