Hyprland
Hyprland copied to clipboard
[WIP] Start work on split direction preselection support
Describe your PR, what does it fix/add?
Support for split direction preselection support. Implements #836.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
This PR is work in progress. The basic functionality works, but there are unhandled edge cases and there is no visual feedback for a preselection existing yet.
I don't have a lot of experience with rendering code, so it would help me a lot if someone could contribute something there.
Is it ready for merging, or does it need work?
No.
Sorry, I completely missed your issue somehow.
Anyways, I think this is a bad idea. Dwindle is a dynamic layout and not manual one like i3.
Why would we want that? Defeats the entire point of dynamic tiling.
I'm coming from bspwm, which is mostly a dynamic tiling wm, but also has some manual features. I'm currently testing Hyprland on one of my machines.
I have dwindle.preserve_split
set, as I don't like my wm to change my layout just because I'm resizing a window.
Usually I want new windows to be placed dynamically, but sometimes I want to put a window at a specific position. With preserve_split
this is already kind of possible by opening multiple new windows and then moving windows around and closing some again in the right order (which I don't recommend. I just want to illustrate that the end result is already reachable, just not practical)
This PR would make it possible to bind a new key-combination that allows you to preselect where the next window appears.
When not using the splitpresel
dispatcher everything behaves exactly as before. When dispatching the splitpresel
dispatcher the position and split direction of the next window will be preselected. After the next window was opened the preselection is automatically deactivated and the default behavior applies again for all further windows.
Further, dwindlw already supports dwindle:force_split
, which can set the split direction (at least l/r and u/d) globally. This PR would allow setting the split direction as a "one-shot" for just the next window.
Feel free. For rendering, I'd encourage not doing that and leaving it to me once everything else in this PR is ready.
This is something I'm also missing, coming from bspwm
Also looking for this functionality. Any ETA?
Closing because
- I no longer use Hyprland
- Was already implemented by another PR
- https://drewdevault.com/2023/09/17/Hyprland-toxicity.html