bspwm
bspwm copied to clipboard
Resize border only
Hi!
I started to use bspwm. I love it!
I have a question: Is that possible, when I want to resize a window, while a hold the mouse button, the effect only resize the border? It take less computer usage. I attach a file about what I mean, this function from i3wm.
Thank you for your feedback and for developing!
I second this; it would remove the requirement for applications to have sufficiently performant resizing (as very few do and look good). Resizing more than one window at a time with the mouse is borderline unusable for many of them. Even though this feature is less "fancy," it would make for a much smoother and more consistent experience overall, especially for those with high refresh rate displays.
Whole heartedly agree. On Nvidia drivers and vsync:ed applications, resizing can lag a lot. Especially when having several windows such as Discord and others that don't resize as good
Easy repro of severe scenario is two alacritty windows in tile layout being resized by pointer.
I ran into the same issue with Alacritty, I tried to implement this, here is what I got:
https://imgur.com/a/A8BUJmj
Here is my fork: https://github.com/loiccoyle/bspwm/tree/resize_on_release
Note:
- The resize indicator lines are the same width and color as the window borders.
- The usual "live" resizing is kept when resizing floating windows, as it doesn't seem to cause an issue on my setup.
- I could some more logic to change the width/height of the resize indicator lines to change how they behave, currently I left the simplest implementation I could think of.
I'll most likely submit a PR soon-ish, I'm not very experienced with X or C so if any of you have any feedback/suggestions it's more than welcome.
The resize indicator works well enough, but not in all cases:
(those are 3 terminal windows)
live resizing on floating windows could be another option, alacritty still acts weird in this case. edit: the indicator goes to the next monitor if there is one and looks weird. Probably should stop on monitor boundary. Thank you for implementing this!
Thanks for the feedback I'll look into the monitor boundary issue.
I deliberately only move the lines around and don't change their height/width which is why the corner doesn't join in the picture you show. This was the simplest implementation. Do you think I should adjust the width/height so that the corner lines up ?
On my setup, resizing a floating alacritty
window works fine (as shown in the end of this gif) which is why I left the live resizing for floating windows. How is it for others?
I don't think the lines should follow the mouse, I think it's always been like it is now (so it's offset). But I meant only that the lines hide "under" the terminal and never join. I'm not sure if we're talking about the same thing ;)
Even in your gif alacritty tears a bit, same for me.